使用AJAX/jQuery发布到Facebook墙/提要
在这件事上把我的头发拔出来 我正在编写一个连接Facebook的web应用程序,它最终会将一些任意信息发布到整个过程中选择的朋友的墙上 我现在处于最后阶段,希望张贴到墙上会很简单,但我花了太长时间试图解决这个问题,所以我希望有人能帮助我 我尝试使用ajax发布如下内容:使用AJAX/jQuery发布到Facebook墙/提要,jquery,ajax,facebook,facebook-graph-api,Jquery,Ajax,Facebook,Facebook Graph Api,在这件事上把我的头发拔出来 我正在编写一个连接Facebook的web应用程序,它最终会将一些任意信息发布到整个过程中选择的朋友的墙上 我现在处于最后阶段,希望张贴到墙上会很简单,但我花了太长时间试图解决这个问题,所以我希望有人能帮助我 我尝试使用ajax发布如下内容: $.ajax({ type: 'POST', url: "https://graph.facebook.com/bbeckford/feed", data: {message: wallMessage,
$.ajax({
type: 'POST',
url: "https://graph.facebook.com/bbeckford/feed",
data: {message: wallMessage, target_id: friendID, access_token: "<?= $cookie['access_token'] ?>", format: "json"},
success: function(data) { alert(data); },
dataType: "JSON"
});
$.ajax({
键入:“POST”,
url:“https://graph.facebook.com/bbeckford/feed",
数据:{message:wallMessage,target_id:friendID,access_令牌:“”,格式:“json”},
成功:函数(数据){警报(数据);},
数据类型:“JSON”
});
但我一直收到这样的错误:“XMLHttpRequest无法加载。访问控制不允许使用Origin允许Origin。”
我做过搜索,其中一个建议是制作一个php代理,这是一个可行的选择吗?我该怎么做呢
我完全错了吗
任何帮助都将不胜感激,
谢谢
-本
编辑
我想在后台这样做,ie用户选择了10个朋友作为例子,然后在提交应用程序时将循环通过每个朋友,并在他们的墙上张贴一些东西。这可能吗?
谢谢
编辑2
下一页底部的测试控制台正是我想要做的,但是没有源代码 无法将ajax请求发送到另一个域
你想干什么就干什么。在这里使用javaScript SDK 步骤1 首先,您的应用程序应该获得在用户的墙上或用户的朋友墙上张贴的权限 来自Facebook的示例代码: 发布流需要发布到用户或用户的好友墙上 需要编辑的行:{perms:'read\u stream,publish\u stream,offline\u access'}) 要了解有关其他权限的详细信息,请执行以下操作: 步骤2 摘自facebook JavaScript SDK页面并进行了调整 需要编辑或添加的行:target\u id:“输入您的好友id-多个,用逗号分隔,
:)我不确定是从哪里听到的,但是:
jQuery.getJSON("https://graph.facebook.com/"+therequestid+"/?callback=?&access_token="+access_token,{},
function(data, textStatus, jqXHR){
//bla-bla
}
);
在需要添加“?callback=?”内容的地方应该可以工作。我不知道为什么会这样。但是,只要它起作用,我会很高兴的。您可能需要在验证用户时设置作用域(如果您还没有这样做的话)
如果您使用WAMS进行身份验证,请查看此博客以设置范围我已经查看了这些内容,但找不到合适的示例,我可以使用该方法异步发布到墙上吗?@bbeckford:是的,您可以异步发布。这里有一个例子:谢谢,我试过了,但我仍然不认为这是我想要的。我编辑了我的问题,以便更好地解释。@bbeckford:你可以通过JS SDK调用REST方法:谢谢,我最终从中找到了答案,但sashtinathan发布了完整的解决方案,因此我接受了这一点,即为了人们搜索,它依赖于JSONP回调,这是使用AJAX解决同源浏览器安全限制的常用方法。也就是说,这只适用于返回JSON的GET请求。
FB.ui(
{
method: 'stream.publish',
message: 'getting educated about Facebook Connect',
attachment: {
name: 'Connect',
caption: 'The Facebook Connect JavaScript SDK',
description: (
'A small JavaScript library that allows you to harness ' +
'the power of Facebook, bringing the user\'s identity, ' +
'social graph and distribution power to your site.'
),
href: 'http://github.com/facebook/connect-js'
},
target_id: 'ENTER YOU FRIENDS IDS - more than one, seperate by commas',
action_links: [
{ text: 'Code', href: 'http://github.com/facebook/connect-js' }
],
user_message_prompt: 'Share your thoughts about Connect'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
jQuery.getJSON("https://graph.facebook.com/"+therequestid+"/?callback=?&access_token="+access_token,{},
function(data, textStatus, jqXHR){
//bla-bla
}
);