public static function updateAccessTokenWithRefreshToken()
 {
     $curl = curl_init(self::$TOKEN_SERVICE_ADDRESS);
     curl_setopt($curl, CURLOPT_POST, true);
     curl_setopt($curl, CURLOPT_POSTFIELDS, 'refresh_token=' . self::$refresh_token . '&grant_type=refresh_token&client_id=' . self::$app_id . '&client_secret=' . self::$app_secret_key);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
     $s = curl_exec($curl);
     curl_close($curl);
     $a = json_decode($s, true);
     if (empty($a[self::PARAMETER_NAME_ACCESS_TOKEN])) {
         return false;
     } else {
         self::$access_token = $a[self::PARAMETER_NAME_ACCESS_TOKEN];
         return true;
     }
 }
示例#2
0
This is example of using SDK.
*/
/*
Это пример использования SDK.
*/
$template = "<div id=\"t\"><div id=\"tr\"><div class=\"tc\" id=\"tc1\"><img src=\"%s\" class=\"pic\" alt=\"user photo\">%s</div><div class=\"tc\" id=\"tc2\">дружит с</div><div class=\"tc\" id=\"tc3\"><img src=\"%s\" class=\"pic\" alt=\"user photo\">%s</div></div></div>";
// method checks if request has parameter code
// если в запросе есть параметр code (считается, что параметр получен после авторизации пользователя на ok)
if (!is_null(OdnoklassnikiSDK::getCode())) {
    if (OdnoklassnikiSDK::changeCodeToToken(OdnoklassnikiSDK::getCode())) {
        // example of using makeRequest with parameters
        // method returns required info about current user
        // пример вызова метода с параметрами
        // запрашиваем информацию о текущем пользователе
        $current_user = OdnoklassnikiSDK::makeRequest("users.getCurrentUser", array("fields" => "name,pic_5"));
        // example of using makeRequest without parameters
        // method returns list of user's friends
        // пример вызова метода без параметров
        // запрашиваем списко друзей пользователя
        $friends = OdnoklassnikiSDK::makeRequest("friends.get");
        // method returns required info about required users
        // запрашиваем имя и ссылку на фото первого друга из списка
        $first_friend = OdnoklassnikiSDK::makeRequest("users.getInfo", array("fields" => "name,pic_5", "uids" => $friends[0]))[0];
        printf($template, $current_user["pic_5"], $current_user["name"], $first_friend["pic_5"], $first_friend["name"]);
    }
} else {
    printf("<div><a class=\"odkl-oauth-lnk\" href=\"%s\"></a></div>", OdnoklassnikiSDK::getAuthorizeUrl());
}
?>
    </body>
</html>