예제 #1
0
파일: google.php 프로젝트: rock-op/snippet
/**
 * @brief GG_GetToken
 * 获取token
 *
 * @param $code
 *
 * @return
 */
function GG_GetToken($code)
{
    $url = "https://accounts.google.com/o/oauth2/token";
    $fields = array("code" => $code, "client_id" => GOOGLE_CLIENT_ID, "client_secret" => GOOGLE_CLIENT_SECRET, "redirect_uri" => GOOGLE_REDIRECT_URI, "grant_type" => "authorization_code");
    $data = X_POST($url, $fields);
    return $data;
}
예제 #2
0
파일: yahoo.php 프로젝트: rock-op/snippet
/**
 * @brief YH_GetAccessToken in callback
 *
 * @param $requestTokenSecret request token secret
 *
 * @return
 */
function YH_GetAccessToken($requestTokenSecret)
{
    if (!array_key_exists("oauth_token", $_GET) || !array_key_exists("oauth_verifier", $_GET)) {
        return false;
    }
    $oauthToken = $_GET['oauth_token'];
    $oauthVerifier = $_GET['oauth_verifier'];
    $url = "https://api.login.yahoo.com/oauth/v2/get_token";
    $nonce = md5(mt_rand());
    $timestamp = time();
    $params = array("oauth_consumer_key" => YAHOO_CONSUMER_KEY, "oauth_nonce" => $nonce, "oauth_signature_method" => "HMAC-SHA1", "oauth_timestamp" => $timestamp, "oauth_version" => "1.0", "oauth_token" => $oauthToken, "oauth_verifier" => $oauthVerifier);
    $b = YH_MakeSignatureBaseString("POST", $url, $params);
    $key = YAHOO_CONSUMER_SECRET . '&' . $requestTokenSecret;
    $s = YH_Signature($b, $key);
    $params['oauth_signature'] = $s;
    $data = X_POST($url, $params);
    $r = explode("&", $data);
    $data = array();
    foreach ($r as $v) {
        $rr = explode("=", $v);
        $data[$rr[0]] = $rr[1];
    }
    return $data;
}