Facebook扩展用户访问令牌

时间:2012-02-29 07:05:55

标签: facebook facebook-access-token

Facebook文档说offline_access已被删除。如何将访问令牌延长60天?

我确实已从app的高级设置启用了已弃用offline_access

3 个答案:

答案 0 :(得分:0)

你可以尝试两种方式: 1.启用脱机弃用功能,并在可用中获取已交换的令牌值,然后运行cUrl功能。运行cUrl后,只需传递var_dump()中的响应值..您可以看到访问令牌和过期日期..

  1. 对于(1)的相反过程,你会得到不同的价值。

答案 1 :(得分:0)

您可以将https://developers.facebook.com/docs/howtos/login/extending-tokens/用于长期访问令牌,或https://developers.facebook.com/docs/howtos/login/login-as-app/用于未过期的应用访问令牌。但你可能需要第一个。

答案 2 :(得分:0)

 function fb_renew_access_token($args=array()){
     $token_url = "https://graph.facebook.com/oauth/access_token?client_id=".$args["app_id"]."&client_secret=".$args["app_secret"]."&grant_type=fb_exchange_token&fb_exchange_token=".$args["old_token"];

     $c = curl_init();
     curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($c, CURLOPT_URL, $token_url);
     $contents = curl_exec($c);
     $err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
    curl_close($c);

    $paramsfb = null;
    parse_str($contents, $paramsfb);

    return $paramsfb;
 }
 //to get the extended access token
 $extended_access = fb_renew_access_token(array("app_id"=>"4545454544s45454545","app_secret"=>"sdfgds2fg4d2f54g5df4gdsdsfgdsfg54dfg","old_token"=>"54sdf54sd54f35asdgs4ghdsd5sh4d5trh4djhdfj45fdh"));