【发布时间】:2017-01-24 12:18:46
【问题描述】:
我正在开发一个 restful api,其中客户端提供一个 facebook 用户 ID(比如说myapi/get_user/123),并且该 API 必须检索用户的公共信息,如姓名、生日等。它已经完成了。
当前代码:
$fb = new Facebook\Facebook([
'app_id' => $fbSettings['app_id'],
'app_secret' => $fbSettings['app_secret'],
'default_graph_version' => $fbSettings['default_graph_version']
]);
$token = 'EAAD...';
try {
// Returns a `Facebook\FacebookResponse` object
$fbResponse = $fb->get('/' . $request->getAttribute('id') . '?fields=link, name, birthday', $token);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
return $response->withStatus(500)->withJson(['msg' => $e->getMessage()]);
exit;
}
$user = $fbResponse->getGraphUser();
return $response->withJson($user);
我的问题是我不知道处理访问令牌的最佳方法是什么。令牌是否应该由客户提供?在这种情况下,应该在同一个请求中作为参数传递(例如:myapi/get_user/123?token=ABC123)或者应该进行另一个 api 调用(比如说myapi/register_token/ABC123),从而打破无状态原则。
我正在寻找处理访问令牌的最佳方式(或最佳实践)。
【问题讨论】:
标签: php facebook facebook-php-sdk restful-url