我想使用带有访问令牌Facebook Javascript SDK
的{{1}}向某人的Facebook个人资料帖子或网页发布或群发帖子发表评论。
我可以使用Graph API
权限从当前登录的用户生成应用程序访问令牌。如何使用publish_stream
使用Javascript SDK调用,以便用户可以从Facebook外部发表评论,即来自我的网站,其中显示所有页面/个人资料/群组帖子?
我尝试过PHP SDK,但是没有在服务器站点上运行。
答案 0 :(得分:1)
假设用户已登录且访问令牌具有publish_stream权限,则应调用
FB.api('/'+ _POST_ID_HERE_ +'/comments', 'POST', { message:"Your comment text" },
function(response)
{
if (response && !response.error && response.id)
{
alert('New comment id = '+response.id);
}
});
答案 1 :(得分:0)
函数Comment_Clicked(pid) { FB.init({ appId:'472562079456084', status:true,//检查登录状态 // channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//频道文件 cookie:true,//启用cookie以允许服务器访问会话 xfbml:true //解析XFBML // OAuth的:真 });
FB.login(function(response) {
if (response.status=='connected') {
if (response.authResponse.accessToken) {
var token = response.authResponse.accessToken;
FB.api('/'+pid+'/comments?access_token='+token+'', 'POST',{ message:'test' }, function(response) {
if (!response || response.error) {
ms_js("#msfb-error-comlike").text("Errors you may not have permissions ");
} else {
ms_js("#msfb-error-comlike").text("Post success");
}
});
//window.location = "<? echo $absolute_url; ?>&temptoken="+ token +"";
} else {
// user is logged in, but did not grant any permissions
alert('You can create an access token only for your own profiles and pages.');
}
} else {
// user is not logged in
alert('To use fb.wall you have to create an access token.');
}
}, {scope:'read_stream,publish_stream'}); //exclude publish_stream,publish_actions
}
这是我完成评论的完整功能。我正在通过app id生成访问令牌。是吗?通过应用访问令牌,用户可以评论另一个页面,个人资料帖子而不是他的页面或个人资料帖子?!事情还可以,所以正在使用。 @Const实际上publish_stream权限适用于另一个用户对我测试过的另一个用户个人资料帖子执行评论。但是对于哪个问题仍然存在问题的用户,不知道为什么!。生成令牌使用我本地站点中的javascript sdk提供所有权限不工作但是当我在这里生成时也可以工作 - developers.facebook.com/tools/explorer ....