这个问题耗费了我所有的时间,所以我真的需要你的帮助。
我会直截了当地说:
为了创建和添加朋友,我正在使用NODE JS请求模块。当我创建一个事件时,我会存储id以在另一个POST中使用它,这反过来会将朋友添加到事件中。
两个帖子都在GRAPH API Explorer中工作。第一个创建事件,第二个将朋友添加到事件中。
在我的APP中,我能够创建事件并获取ID,但是当我运行第二个POST时,它给出了以下答案:
{"message":"An access token is required to request this resource.","type":"OAuthException","code":104}}
它没有多大意义,因为我使用完全相同的标记,我已经在Graph Explorer中测试了一百次!
POST语法应该是正确的,因为我在GRAPH EXPLORER中测试了很多次。权限不应该是问题,但正如我所说......我不知道还有什么问题可以解决!
请帮助我,因为我真的不知道我还能做什么!
CODE :
var message = "&name=" + sender_name + " is inviting you for " + event_type + " via my app" + "&privacy_type=CLOSED&start_time=" + date_ics + "-0000";
var url = 'https://graph.facebook.com/me/events?access_token=' + access_token;
console.log(url+message);
var a = request({
url: url,
method: 'POST',
body: message
}, function (err, res, body) {
if (!err && res.statusCode == 200) {
obj = JSON.parse(body);
event_id = obj.id;
console.log(event_id);
var message = "/invited?users=" + recipients_fb_id;
var url = 'https://graph.facebook.com/' + event_id;
console.log(url+message);
//PROBLEM STARTS HERE!
request({
url: url,
method: 'POST',
body: message
}, function (err, res, body) {
if (!err && res.statusCode == 200) {
console.log(body);
}else{
console.log("Erro: " + res.statusCode + body);
}
});
}
});
答案 0 :(得分:0)
在您的第二个请求中,您不包括访问令牌 - 这需要包含在所有请求中。
另外,为什么不将所有参数放入url var而不是使用消息?
var message = "";
var url = 'https://graph.facebook.com/' + event_id + "/invited?users=" + recipients_fb_id + "&access_token=" + access_token;
console.log(url);