Facebook signed_request中缺少user,oauth_token,expires

WOW*_*WOW 5 facebook facebook-graph-api

https://developers.facebook.com/docs/facebook-login/using-login-with-games/

他们声称json对象是

{
   "oauth_token": "{user-access-token}",
   "algorithm": "HMAC-SHA256",
   "expires": 1291840400,
   "issued_at": 1291836800,
   "user_id": "218471"
}
Run Code Online (Sandbox Code Playgroud)

但我得到了这个

{
   "algorithm": "HMAC-SHA256",
   "code": "xxxxxx",
   "issued_at": 1291836800,
   "user_id": "218471"
}
Run Code Online (Sandbox Code Playgroud)

备注:

我的应用程序处于沙箱模式

许可:电子邮件; user_about_me; user_birthday; user_interests; USER_LOCATION; user_games_activity

有人知道怎么解决吗?

小智 0

每当有人已经使用 Facebook Login 登录您的游戏时,签名的请求将包含一个 oauth_token 属性,该属性为您提供一个用于进行 API 调用的令牌。

您应该使用 JavaScript SDK 处理登录,而不是在启动画布应用程序时发送的 POST 日期。

如果您想在他登录之前获取一些信息,您应该用代码交换访问令牌

要获取访问令牌,请向以下 OAuth 端点发出 HTTP GET 请求:

GET https://graph.facebook.com/oauth/access_token?
  client_id={app-id}
  &redirect_uri={redirect-uri}
  &client_secret={app-secret}
  &code={code-parameter}
Run Code Online (Sandbox Code Playgroud)

您可以使用 ajax 来防止页面刷新。