服务器只需要做一件事: 检查任何访问令牌的有效性。
客户端发送到服务器用户 ID 和由 FB.getLoginStatus获得的访问令牌。正如我预期的那样,会有任何 URL 来检查访问令牌的有效性,比如 http://xxx.facebook.com/access_token?=xxxxxxxxxxxxxxxxxxxxxxxxxxxx。
FB.getLoginStatus
http://xxx.facebook.com/access_token?=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
返回它是否可用或者是否有任何 API (服务器端) ?
如果出现错误,您可以简单地请求 https://graph.facebook.com/me?access_token=xxxxxxxxxxxxxxxxx,令牌无效。如果您得到一个具有 id 属性的 JSON 对象,那么它是有效的。
不幸的是,这只会告诉你,如果你的令牌是有效的,而不是如果它来自您的应用程序。
官方支持的方法是:
GET graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app-token-or-admin-token}
有关更多信息,请参见 检查令牌文件。
一个例子是:
{ "data": { "app_id": 138483919580948, "application": "Social Cafe", "expires_at": 1352419328, "is_valid": true, "issued_at": 1347235328, "metadata": { "sso": "iphone-safari" }, "scopes": [ "email", "publish_actions" ], "user_id": 1207059 } }
Access Token
Mobile Number and Country Code
你可以得到的 mobile number与你的 access_token与这个 API https://graph.accountkit.com/v1.1/me/?access_token=xxxxxxxxxxxx。也许,一旦你有了 mobile number和 id,你就可以把它们用到 核实和 server & database的用户身上。
mobile number
access_token
API
id
server & database
上面的 xxxxxxxxxx是 Access Token
xxxxxxxxxx
{ "id": "61940819992708", "phone": { "number": "+91XX82923912", "country_prefix": "91", "national_number": "XX82923912" } }
Auth Code
如果你有一个 Auth Code而不是,你可以首先得到这个 API-https://graph.accountkit.com/v1.1/access_token?grant_type=authorization_code&code=xxxxxxxxxx&access_token=AA|yyyyyyyyyy|zzzzzzzzzz的 Access Token
xxxxxxxxxx、 yyyyyyyyyy和 zzzzzzzzzz分别是 Auth Code、 App ID和 App Secret。
yyyyyyyyyy
zzzzzzzzzz
App ID
App Secret
{ "id": "619XX819992708", "access_token": "EMAWdcsi711meGS2qQpNk4XBTwUBIDtqYAKoZBbBZAEZCZAXyWVbqvKUyKgDZBniZBFwKVyoVGHXnquCcikBqc9ROF2qAxLRrqBYAvXknwND3dhHU0iLZCRwBNHNlyQZD", "token_refresh_interval_sec": XX92000 }
server-side
APP Secret
shared
security reasons
祝你好运。
只是想让你知道,直到今天,我首先获得一个应用程序访问令牌(通过 GET 请求到 Facebook) ,然后使用接收令牌作为 app-token-or-admin-token:
app-token-or-admin-token
然而,我刚刚意识到了一种更好的方法来做到这一点(附加的好处是少了一个 GET 请求) :
GET graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app_id}|{app_secret}
如 Facebook 的 Access Token 给你文档所述。
可以从这个 URL 找到应用程序标记。
Https://developers.facebook.com/tools/accesstoken
简单请求(HTTP GET) :
https://graph.facebook.com/USER_ID/access_token=xxxxxxxxxxxxxxxxx
就是这样。
我从 facebook 开发者页面找到了这个官方工具,这个页面会让你跟踪有关访问令牌的信息-应用程序 ID,类型,应用程序范围,用户最后一次安装这个应用程序通过,发行,过期,数据访问过期,有效,起源,范围。 只需要访问令牌。
Https://developers.facebook.com/tools/debug/accesstoken/