/** * Copyright 2014 Daum Kakao Corp. * * Redistribution and modification in source or binary forms are not permitted without specific prior written permission.  * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.kakao.helper; /** * @author MJ */ public final class ServerProtocol { public static enum DeployPhase { Local, Alpha, Sandbox, Beta, Release } private static final DeployPhase DEPLOY_PHASE = DeployPhase.Release; public static final String AUTH_AUTHORITY = initAuthAuthority(); public static final String API_AUTHORITY = initAPIAuthority(); //Authorization: Bearer public static final String AUTHORIZATION_HEADER_KEY ="Authorization"; public static final String AUTHORIZATION_BEARER ="Bearer"; public static final String AUTHORIZATION_HEADER_DELIMITER = " "; // oauth url public static final String AUTHORIZE_CODE_PATH = "oauth/authorize"; public static final String ACCESS_TOKEN_PATH = "oauth/token"; //oauth param public static final String CLIENT_ID_KEY = "client_id"; public static final String REDIRECT_URI_KEY = "redirect_uri"; public static final String RESPONSE_TYPE_KEY = "response_type"; public static final String GRANT_TYPE_KEY = "grant_type"; public static final String CODE_KEY = "code"; public static final String ACCESS_TOKEN_KEY = "access_token"; public static final String REFRESH_TOKEN_KEY = "refresh_token"; public static final String EXPIRES_AT_KEY = "expires_in"; public static final String GRANT_TYPE_AUTHORIZATION_CODE = "authorization_code"; public static final String ANDROID_KEY_HASH = "android_key_hash"; // api url private static final String API_VERSION = "v1"; // usermgmt public static final String USER_ME_PATH = API_VERSION + "/user/me"; public static final String USER_LOGOUT_PATH = API_VERSION + "/user/logout"; public static final String USER_SIGNUP_PATH = API_VERSION + "/user/signup"; public static final String USER_UNLINK_PATH = API_VERSION + "/user/unlink"; public static final String USER_UPDATE_PROFILE_PATH = API_VERSION + "/user/update_profile"; // push public static final String PUSH_REGISTER_PATH = API_VERSION + "/push/register"; public static final String PUSH_TOKENS_PATH = API_VERSION + "/push/tokens"; public static final String PUSH_DEREGISTER_PATH = API_VERSION + "/push/deregister"; public static final String PUSH_SEND_PATH = API_VERSION + "/push/send"; // story //POST public static final String STORY_MULTI_UPLOAD_PATH = API_VERSION + "/api/story/upload/multi"; public static final String STORY_POST_NOTE_PATH = API_VERSION + "/api/story/post/note"; public static final String STORY_POST_PHOTO_PATH = API_VERSION + "/api/story/post/photo"; public static final String STORY_POST_LINK_PATH = API_VERSION + "/api/story/post/link"; //GET public static final String STORY_PROFILE_PATH = API_VERSION + "/api/story/profile"; public static final String STORY_ACTIVITIES_PATH = API_VERSION + "/api/story/mystories"; public static final String STORY_ACTIVITY_PATH = API_VERSION + "/api/story/mystory"; public static final String STORY_LINK_SCRAPPER_PATH = API_VERSION + "/api/story/linkinfo"; public static final String IS_STORY_USER_PATH = API_VERSION + "/api/story/isstoryuser"; //DELETE public static final String STORY_DELETE_ACTIVITY_PATH = API_VERSION + "/api/story/delete/mystory"; @Deprecated public static final String STORY_UPLOAD_PATH = API_VERSION + "/api/story/upload"; @Deprecated public static final String STORY_POST_PATH = API_VERSION + "/api/story/post"; //talk public static final String TALK_PROFILE_PATH = API_VERSION + "/api/talk/profile"; // usermgmt param public static final String USER_ID_KEY ="id"; public static final String PROPERTIES_KEY = "properties"; public static final String PROPERTY_KEYS_KEY = "propertyKeys"; public static final String SECURE_RESOURCE_KEY = "secure_resource"; /** * Policy.RESERVED_PROPERTY_NAMES 와 match */ public static final String NICK_NAME_KEY = "nickname"; public static final String PROFILE_THUMBNAIL_IMAGE_KEY = "thumbnail_image"; public static final String PROFILE_IMAGE_KEY = "profile_image"; //push param public static final String DEVICE_ID_PARAM_NAME = "device_id"; public static final String PUSH_TYPE_PARAM_NAME = "push_type"; public static final String PUSH_TOKEN_PARAM_NAME = "push_token"; public static final String PUSH_MESSAGE_PARAM_NAME = "push_message"; public static final String PUSH_GCM_TYPE = "gcm"; // story param public static final String BODY_ENCODING ="UTF-8"; public static final String FILE_KEY ="file"; public static final String CONTENT_KEY ="content"; public static final String PERMISSION_KEY ="permission"; public static final String ENABLE_SHARE_KEY ="enable_share"; public static final String IMAGE_URL_LIST_KEY ="image_url_list"; public static final String ANDROID_EXEC_PARAM_KEY ="android_exec_param"; public static final String IOS_EXEC_PARAM_KEY ="ios_exec_param"; public static final String ANDROID_MARKET_PARAM_KEY ="android_market_param"; public static final String IOS_MARKET_PARAM_KEY ="ios_market_param"; @Deprecated public static final String IMAGE_URL_KEY ="image_url"; public static final String ACTIVITY_ID_PARAM_KEY ="id"; public static final String LAST_ACTIVITY_ID_PARAM_KEY ="last_id"; public static final String SCRAP_URL_PARAM_KEY ="url"; public static final String LINK_INFO_PARAM_KEY ="link_info"; private static String initAuthAuthority() { switch (DEPLOY_PHASE) { case Local: return "localhost:"; case Alpha: return "alpha-kauth.kakao.com"; case Sandbox: return "sandbox-kauth.kakao.com"; case Beta: return "beta-kauth.kakao.com"; case Release: return "kauth.kakao.com"; default: return null; } } private static String initAPIAuthority() { switch (DEPLOY_PHASE) { case Local: return "localhost:"; case Alpha: return "alpha-kapi.kakao.com"; case Sandbox: return "sandbox-kapi.kakao.com"; case Beta: return "beta-kapi.kakao.com"; case Release: return "kapi.kakao.com"; default: return null; } } }