因此,我尝试将 Graph API 与 Facebook JS SDK 一起使用,但在 Safari 中出现以下错误:
“OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。”
我怀疑这与 Safari 对 x-domain cookie 设置非常严格这一事实有关,所以我在 Firefox 中尝试了它,cookie
在FB.init()
. 我确实发现我的FB.api()
请求遇到了同样的错误。
FB.init({
appId: "<%= app_id %>",
status: true, // check login status
// We cannot rely on this cookie being set in an iframe. I found this
// out because the Graph API was not working in Safari.
// cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
channelUrl: window.location.protocol + '//' + window.location.host + '/fb/canvas/channel.html'
});
所以我想知道......有没有一种access_token
在请求中手动设置查询参数的好方法FB.api()
?
如果FB.init()
cookie 设置正确,FB.api()
请求参数如下所示:
access_token xxxxxxxxxxxx|1.xxxxxxxxxxxxxxxxxxxxxx__.3600.xxxxxxxxxx-xxx|xxxxxxxxxxxxxxxxxxxxxxxxxxx
callback FB.ApiServer._callbacks.xxxxxxxxxxxxxxx
pretty 0
sdk joey
在 Safari 中(或未cookie
FB.init()
设置该选项时),FB.api()
请求参数如下所示:
callback FB.ApiServer._callbacks.xxxxxxxxxxxxxxx
pretty 0
sdk joey
现在......显然我的应用程序有能力access_token
在服务器端生成......我想知道是否有任何方法可以手动设置FB.api()
为使用我的 server-side-generated access_token
。