我想让我的应用程序发布到朋友的墙上。我尝试使用FB.api方法,但我发现使用它已被禁用。
然后我尝试使用FB.ui提要对话框,但之后我发现消息参数已被弃用,因为Facebook希望其用户输入文本而被删除。即使用户输入文本,该消息也不会发布到该用户的墙上。
因此,在做了更多研究后,我发现另一种选择是创建一个自定义动作类型。在这样做的过程中,我发现采用这种方法我的应用程序需要一个app访问令牌。
所以我尝试使用以下方法:
FB.api('https://graph.facebook.com/oauth/access_token','get',
{client_id:'XXXXXXX', client_secret:'XXXXXXXXXXX', grant_type:'client_credentials'},
function(response) {
});
与文档中的内容没有任何不同之处:
GET https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&client_secret=YOUR_APP_SECRET
&grant_type=client_credentials
我收到的错误如下:
'未捕获的ReferenceError:XXXXXXXXXXXXXXXXXXXXX未在我使用时定义
Ext.data.JsonP.request({
url : 'https://graph.facebook.com/oauth/access_token',
params : {
client_id : 'XXXXXXXXXXXXXXXXXXXX',
client_secret : 'XXXXXXXXXXXXXXXXXXXXX',
grant_type : 'client_credentials'
},
success : function(response, opts) {
},
failure : function(response, opts) {
}
});
OR
我使用时,{type:'http',消息:'未知错误'}
FB.api('https://graph.facebook.com/oauth/access_token','get',
{client_id:'XXXXXXX', client_secret:'XXXXXXXXXXX', grant_type:'client_credentials'},
function(response) {
});
现在文档说当我执行以下操作时:
GET https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&client_secret=YOUR_APP_SECRET
&grant_type=client_credentials
我应该在我的响应对象中获得以下内容:
=的access_token YOUR_APP_ACCESS_TOKEN
现在从我所做的看来,我已经按照文档的方向进行了操作,但我的问题是为什么我没有得到文档所说的正确输出?
请帮忙。
答案 0 :(得分:0)
FB.api
来自graph.facebook.com端点,因此您无需明确添加graph.facebook.com
。
我现在不在电脑上,但我认为电话更像是
FB.api('oauth/access_token'
虽然我不确定FB.api是否接受明文响应,但我相信它是专为JSON响应而设计的。
将来检查您的浏览器开发工具以查看您通过JS SDK实际执行的HTTP GET