如果我使用curl命令进行发布,一切正常:
curl \
-F 'access_token=...' \
-F 'message=hello' \
https://graph.facebook.com/me/feed
响应是:
{"id":"100001692713927_542460169153735"}
但是使用request模块从NodeJs做同样的事情:
var formData = {
access_token: '...',
message: 'hello5'
};
request.post('https://graph.facebook.com/me/feed', formData, function (error, response, body) { … });
我收到错误:
{
"error": {
"message": "(#200) This API call requires a valid app_id.",
"type": "OAuthException",
"code": 200
}
}
我在网址中使用了me
和用户ID,行为相同。
这里有什么不妥?
答案 0 :(得分:2)
上述代码中的问题是request.post
数据参数的格式错误。应该是:
var formData = {
form: {
access_token: "...",
message: "hello"
}
};
这是错误的。
答案 1 :(得分:1)
我认为您必须使用Facebook SDK for Node.js,this可能对您有所帮助。
答案 2 :(得分:0)
我认为facebook POST请求需要app_id - 这是您在Facebook上创建应用程序时可以获得的内容 - https://developers.facebook.com/apps。
提供的app_id会让你通过。