首页 > 后端开发 > php教程 > 为什么从 v2.2 升级到 v2.3 后我的 Facebook Graph API 请求无法正常工作?

为什么从 v2.2 升级到 v2.3 后我的 Facebook Graph API 请求无法正常工作?

Mary-Kate Olsen
发布: 2024-12-18 15:38:17
原创
700 人浏览过

Why Aren't My Facebook Graph API Requests Working After Upgrading from v2.2 to v2.3?

从 2.2 升级到 2.3 后排查 Facebook Graph API 问题

问题:

用户遇到 Facebook Graph API 请求不返回结果或不正确的问题从版本 2.2 升级到 2.3 后的数据。

原因:

问题源于 Facebook API 版本 2.3 中 OAuth 访问令牌响应格式的更改。现在,响应以有效的 JSON 格式返回,而不是 URL 编码。

解决方案:

要解决此问题,需要进行以下更改:

将 OAuth 访问令牌响应解析为 JSON:

在getAccessTokenFromCode 函数,更新代码以将访问令牌响应解析为 JSON:

$response = json_decode($access_token_response);
if (!isset($response->access_token)) {
  return false;
}
return $response->access_token;
登录后复制

使用 JSON 响应扩展访问令牌:

同样,将 setExtendedAccessToken 函数更新为使用 JSON 响应:

// ...

// Set access token using JSON response
$response = json_decode($access_token_response);
if (!isset($response->access_token)) {
  return false;
}

$this->setPersistentData(
  'access_token', $response->access_token
);
登录后复制

检索用户生日:

在 2.3 版本中,用户的生日不再包含在 Graph API 返回的默认字段中。要检索生日,请在请求中显式指定“生日”字段:

https://graph.facebook.com/v2.3/{$user_id}?fields=id,name,birthday
登录后复制

实施这些更改后,Graph API 应按版本 2.3 中的预期运行。

以上是为什么从 v2.2 升级到 v2.3 后我的 Facebook Graph API 请求无法正常工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板