从NodeJs发布到Facebook用户提要

时间:2013-08-01 16:50:40

标签: node.js facebook-graph-api

如果我使用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,行为相同。

这里有什么不妥?

3 个答案:

答案 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会让你通过。