从NodeJs发布到Facebook的用户饲料

如果我用curl命令进行发布,一切正常:

curl \ -F 'access_token=...' \ -F 'message=hello' \ https://graph.facebook.com/me/feed 

答案是:

 {"id":"100001692713927_542460169153735"} 

但是从NodeJs使用请求模块进行POST也是这样做的:

 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 } } 

我在URL中使用了me和用户ID,行为也是一样的。

这里有什么可能是错的?

上述代码中的问题是request.post数据参数的格式错误。 吨应该是:

 var formData = { form: { access_token: "...", message: "hello" } }; 

这是错误的。

我想你将不得不使用Facebook SDK的Node.js, 这可能会帮助你。

我认为Facebook的POST请求期望app_id – 这是当你在这里创build一个应用程序在Facebook上的东西 – https://developers.facebook.com/apps

提供的app_id将使您通过。