交换用户访问令牌的代码
用户授权您的应用程序后,您应该发出服务器端请求以将上面返回的代码交换为用户访问令牌。
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&client_secret=YOUR_APP_SECRET
&code=CODE_GENERATED_BY_FACEBOOK
client_secret 参数必须是应用程序设置中显示的应用程序密钥。对此请求的响应正文将是一个 url 编码的字符串,格式如下:
access_token=USER_ACESS_TOKEN&expires=NUMBER_OF_SECONDS_UNTIL_TOKEN_EXPIRES
您应该解析此字符串并使用 access_token 值向 Graph API 发出请求。您还应该将访问令牌保留在数据库中,以便向 API 发出进一步请求,而无需重新验证用户身份。
一旦访问令牌到期时间到达,令牌将失效,不能再用于对 API 的请求。要获取新的用户访问令牌,您必须再次让用户通过此流程。但是,如果用户没有取消对您的应用程序的授权,并且您要求的权限超出了用户已经授予您的应用程序的权限,则不会显示任何对话框,并且用户将使用新代码透明地重定向到您的 redirect_uri可以换成新的用户访问令牌。
如果在交换用户访问令牌的代码时出现问题,授权服务器将发出 HTTP 400 并在响应正文中以 JSON 对象的形式返回错误:
{
"error": {
"type": "OAuthException",
"message": "Error validating verification code."
}
}
如需进一步参考结帐http://developers.facebook.com/docs/authentication/server-side/
向 Graph API 发出请求
使用有效的用户访问令牌,您可以请求从 Graph API 读取和写入数据。一个常见的第一个请求是获取刚刚对您的应用进行身份验证的用户的基本信息(包括 id 和名称):
https://graph.facebook.com/me?access_token=YOUR_USER_ACCESS_TOKEN