gpt4 book ai didi

android - 来自 Facebook 的扩展访问 token 无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:23 30 4
gpt4 key购买 nike

我遇到了麻烦,因为 Facebook 已经删除了 offline_access 权限。

尝试了两件事:

  1. 我正在按照 Facebook 的建议调用电话。

    https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN
  2. 我还尝试了 Android SDK,它使用 Intent 获取扩展访问 token :

    intent.setClassName("com.facebook.katana", "com.facebook.katana.platform.TokenRefreshService");

在 developers.facebook.com,我将我的应用设置为“ native /桌面”。

我也在应用程序设置中禁用了offline_access

我在尝试之前从我的 Facebook 帐户中删除了旧权限。

这两种方法都为我提供了 24 小时 token 。也许有人可以帮助我做出正确的决定以获得 60 天的 token ?

我看到了很多关于这个问题的错误报告,但也已经解决了。看来我的情况并非如此。

最佳答案

使用以下函数获取扩展访问 token :公共(public)函数 getExtendedAccessToken(){

try {
// need to circumvent json_decode by calling _oauthRequest
// directly, since response isn't JSON format.
$access_token_response =
$this->_oauthRequest(
$this->getUrl('graph', '/oauth/access_token'),
$params = array( 'client_id' => $this->getAppId(),
'client_secret' => $this->getApiSecret(),
'grant_type'=>'fb_exchange_token',
'fb_exchange_token'=>$this->getAccessToken(),
));

} catch (FacebookApiException $e) {
// most likely that user very recently revoked authorization.
// In any event, we don't have an access token, so say so.
return false;
}

if (empty($access_token_response)) {
return false;
}

$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
return false;
}

return $response_params['access_token'];

关于android - 来自 Facebook 的扩展访问 token 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803963/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com