现在固定!但我还不能回答我自己的问题.请参阅下面的评论.谢谢你的帮助.
我搜索并搜索并阅读了文档但仍无法解决这个问题.
我有一个关于活动的网页.我的活动还有一个公开的Facebook"活动".我正在尝试使用FB Javascript SDK来获取Facebook活动的与会者人数,并将其添加到通过网站注册的人数.
我创建了一个应用程序,我有一个appID和秘密字符串.我可以从以下位置获取访问令牌:
然后我可以使用该访问令牌来获取公共事件的与会者:
https://graph.facebook.com/331218348435/attending?access_token=XXXXXXXXX
那一切都很好.
我现在正尝试使用Javascript SDK做同样的事情.
我已经加载了SDK并完成了一个init:
FB.init({
appId : 'XXXXXXXX',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
Run Code Online (Sandbox Code Playgroud)
我知道SDK正在运行,因为我可以获得一个不需要访问令牌的数据的对象:
FB.api( '/331218348435', function (response) { console.log ( response ) } );
Run Code Online (Sandbox Code Playgroud)
但是当我尝试获取需要访问令牌的与会者数据时:
FB.api( '/331218348435/attending', function (response) { console.log ( response ) } );
Run Code Online (Sandbox Code Playgroud)
我收到OAuthException:"请求此资源需要访问令牌."
我可以找到的所有教程和信息都是指使用.login方法,但我不希望用户登录,我想使用我的应用程序ID登录而无需任何用户交互.
我假设API接受了SDK的init请求,并在我调用.init方法时授予了访问令牌,验证是针对我的网站地址完成的(HTTP引用者 - 是的,我在Facebook应用程序中设置了我的网站URL设置).
什么可能导致这不起作用的想法?如何在不执行.login的情况下使用Javascript SDK获取访问令牌?我错过了一步吗?这甚至可能吗?
谢谢