Facebook Graph API 请求问题更新至版本 2.3
简介
最近更新到 Facebook 的 Graph API 版本 2.3,用户遇到 API 请求返回空的问题回应。本文解决了这些问题,并根据 Facebook SDK 的更新提供了解决方案。
问题描述
在 Graph API 升级到版本 2.3 后,某些 API 请求,包括用于用户相册和生日数据的数据一直返回空结果。此外,尝试获取用户访问令牌失败。
根本原因
这些问题的根本原因在于 Facebook SDK 版本 3.2.2,该版本不兼容与最新的 API 更改。具体来说,SDK 对访问令牌响应的处理受到了 2.3 版本中实现的新 JSON 格式的影响。
解决方案
要解决这些问题,需要更新 SDK 中的 getAccessTokenFromCode() 和 setExtendedAccessToken() 函数。修改后的代码(补丁版本3.2.2):
getAccessTokenFromCode()
$response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } return $response->access_token;
setExtendedAccessToken()
$response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } $this->destroySession(); $this->setPersistentData( 'access_token', $response->access_token );
一旦这些函数在 SDK 中更新,API 请求应该功能符合预期。
其他注意事项
请注意,Facebook PHP SDK (v5) 的默认 SDK 版本现在为 7.0,强烈建议升级到最新版本。此外,对 PHP 5.3 版本的支持已结束,建议升级到受支持的版本。
以上是为什么更新到版本 2.3 后我的 Facebook Graph API 请求失败?的详细内容。更多信息请关注PHP中文网其他相关文章!