这是我的server.js文件。我想在我的Facebook墙上发帖子,但是当我运行这个server.js时,我收到以下错误。
var config=require('./config');
var mongoose=require('mongoose');
var bodyparser=require('body-parser');
var express = require('express');
var morgan=require('morgan');
var nodemailer=require('nodemailer');
var FB=require('fb');
var app = express();
FB.appid="yyyyyy";
FB.permissions=['publish_actions','status_update'];
FB.forceDialogAuth=true;
app.use(bodyparser.urlencoded({extended:true}));
app.use(bodyparser.json());
app.use(morgan('dev'));
app.use('/public',express.static(__dirname + '/public'));
mongoose.connect(config.database,function(err){
if(err)
console.log(err);
else
console.log('database connected');
});
app.get('/',function(req,res){
res.sendFile(__dirname +'/public/app/views/index.html' );
});
aPP.post('/post',function(req,res){
FB.setAccessToken('xxxxxxxx');
var body='hello people';
FB.api(yyyyyy/feed','post',{message:body},function(res){
if(!res ||res.error){
console.log(!res ? 'error' : res.error);
return;
}
console.log('post id:' + res.id);
});
});
app.listen(config.port,function(err){
if(err)
console.log(err);
else
console.log('server running at '+config.port);
});
var api=require('./routes/api')(app,express,nodemailer);
app.use('/api',api);
我得到的错误是:
{message:'不支持的帖子请求。请阅读https://developers.facebook.com/docs/graph-api'上的Graph API文档, type:'GraphMethodException', 代码:100, fbtrace_id:'HHiDmF0kcZP'}
我在发布请求之后才收到此错误。我之前已经使用了tokenaccess。我是新手。我需要一些帮助。
答案 0 :(得分:0)
是publish_actions
,而不是publish-actions
。顺便说一下,你总是可以在这里调试你的令牌:https://developers.facebook.com/tools/debug/
确保在授权过程中要求您提供正确的权限,并确保令牌有效且包含publish_actions
权限。
答案 1 :(得分:0)
假设yyyyyy
FB.appid="yyyyyy";
和
FB.api(yyyyyy/feed','post',{message:body},function(res){
是相同的,您正在寻找的答案是您无法发布到应用Feed。
HTTP POST / app / feed导致
{
"error": {
"message": "Unsupported post request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100
}
}