【问题标题】:Using Facebook Graph to simply post a wall message with just javascript使用 Facebook Graph 只用 javascript 简单地发布一条墙消息
【发布时间】:2011-02-13 01:49:51
【问题描述】:

在 Facebook 中,我如何在用户的墙上发布一条消息,上面写着“我在对象游戏上得分 8/10”,然后是一个 URL?

我真的不想使用完整的 API,因为我不想处理用户登录详细信息。我不介意 Facebook 是否需要进行身份验证然后发布消息。

是否可以使用新的 Graph API 和 JavaScript?

【问题讨论】:

  • 您需要“自动”还是让用户“发帖到我的墙上”可以吗?
  • 张贴到我的墙上将是我想要的。我只是希望用户可以选择将其发送到他们的墙上。
  • 多么幸运 - 因为自动执行往往需要更多的努力来获取权限。

标签: javascript facebook facebook-graph-api


【解决方案1】:

注 4/16/2011: stream.publish 似乎已被弃用,有一种新方法可以做到这一点:http://developers.facebook.com/docs/reference/dialogs/feed/

您可以使用类似的方式发布到墙上,用户需要在发送之前进行确认。 不要忘记您需要使用 FB.init 并包含 JS SDK 链接。

 function fb_publish() {
     FB.ui(
       {
         method: 'stream.publish',
         message: 'Message here.',
         attachment: {
           name: 'Name here',
           caption: 'Caption here.',
           description: (
             'description here'
           ),
           href: 'url here'
         },
         action_links: [
           { text: 'Code', href: 'action url here' }
         ],
         user_prompt_message: 'Personal message here'
       },
       function(response) {
         if (response && response.post_id) {
           alert('Post was published.');
         } else {
           alert('Post was not published.');
         }
       }
     );  
  }

【讨论】:

  • 免责声明:尚未对代码进行测试运行,但看起来是正确的。
  • 我从我的一个工作代码中复制了它。功能经过测试:)
  • 他妈的爱你们。今晚我要试一试。
  • 好吧 - 完成了。另一个开发人员在没有我的情况下完成了它 - 因此 - 作为给我代码的家伙,你得到 100 分。不错的苏菲安。
  • stream.publish 似乎已被弃用。执行此操作的新方法是使用 Feed 对话框:developers.facebook.com/docs/reference/dialogs/feed
【解决方案2】:

Post on wall 将显示一个对话框来分享或不分享墙上的消息。但我想在用户的墙上静默发布消息,假设用户已经授予“发布在墙上”权限。

FB.api('/me/feed', 'post', {
      message:'my_message',
      link:YOUR_SITE_URL,
      picture:picture_url
      name: 'Post name',
      description: 'description'
 },function(data) {
      console.log(data);
 });

【讨论】:

  • 你能更新你的答案并再次在这里重新发布吗?我试过你的代码,它说用户不允许你发布任何东西。
【解决方案3】:

考虑到你有一个代理来进行跨域调用,你可以简单地这样做......

在此示例中,YourProxyMethod 采用 jQuery.ajax 之类的哈希,在服务器端发布并在成功/错误回调中返回响应。任何常规代理都应该这样做。

诀窍是在 URL 中包含 app_id 和 access_token。 此外,您的 FB 应用应具有足够的权限来进行此调用。

YourProxyMethod({
  url : "https://graph.facebook.com/ID/feed?app_id=APP_ID&access_token=ACCESS_TOKEN",
  method : "post",
  params : {
    message : "message",
    name : "name",
    caption : "caption",
    description  : "desc"
  },
  success : function(response) {
    console.log(response);
  },
  error : function(response) {
    console.log("Error!");
    console.log(response);
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多