【问题标题】:Facebook App to post to Facebook PageFacebook 应用程序发布到 Facebook 页面
【发布时间】:2012-07-30 10:22:16
【问题描述】:

有人可以提供有关如何设置链接到企业页面以允许从外部网站发布的 Facebook 应用程序的最新指南吗?

我已经使用 Facebook 登录应用程序创建了一个网站,并且我正在使用 JavaScript SDK 将内容从我们的网站发布到我们的业务页面。

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
<title>My Feed Dialog Page</title>
</head>
<body>
<div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<p><a onclick='postToFeed(); return false;'>Post to Feed</a></p>
<p id='msg'></p>

<script> 
  FB.init({appId: "OURAPPID", status: true, cookie: true, frictionlessRequests: true});

  function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'feed',
      link: 'http://www.ourdoamin.com/test.jsp',
      picture: 'http://www.ourdoamin.com/image.jpg',
      name: 'Test Article',
      caption: 'Here We GO',
      description: 'This is a test.'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    }

    FB.ui(obj, callback);
  }

</script>

当我点击 Post to Feed 链接时,我会看到一个对话框,应用在 Via 字段中被正确识别,如果我输入状态并点击 Share,我会收到一个 Post ID。

然而,尽管应用被正确引用并接收到帖子 ID,但帖子实际上显示在当前登录的用户帐户的墙上,而不是企业页面上。

我宁愿不登录,只是使用应用程序直接发布到业务页面,而不是用户个人帐户。

谁能告诉我哪里出了问题以及如何纠正这个问题?

【问题讨论】:

  • Feed 对话框有一个toparameter ... developers.facebook.com/docs/reference/dialogs/feed
  • 谢谢,我添加了业务页面帐户的相应电子邮件地址如下:FB.init({appId: "OURAPPID", status: true, cookie: true,frictionlessRequests: true, to: '我的@emailcom'});它确实更改了帐户图片,但尽管获得了帖子 ID,但帖子仍然没有出现在业务页面墙上。
  • 将它作为参数添加到 FB.init 完全没用——正如我所说,它是 Feed 对话框的参数 ...
  • 抱歉,将参数放置在错误的函数中。如果我以管理员或其他配置文件的身份登录,它允许发布帖子,但会显示在其他人最近发布的部分中。如果我以业务页面的主帐户用户身份登录,则会收到以下错误:指定的目标无效:391723550881677。目标必须是演员可以在其墙上发布的页面、事件或用户。有没有办法让帖子显示为主要帐户持有人?
  • 您所说的“主要帐户持有人”是什么意思,该页面的管理员还是什么?如果是这样 - 从管理员那里获取用户访问令牌。否则,如果您希望帖子看起来是由页面本身发布的,您还可以获得页面访问令牌。

标签: javascript facebook api sdk


【解决方案1】:

您可以使用access_token 页面直接发布到页面。为此,您需要manage_pages 权限。请求许可后,您可以通过调用 /me/accounts 并记下您要发布到的页面的正确令牌来获取页面 access_token

在您的 API 调用中使用此 access_token 以管理员/页面的身份发布到页面。

【讨论】:

  • 我按照本文中的步骤操作:testically.org/2011/09/27/… 但如果我做对了,我就不能使用上面的代码,我需要改用graph.facebook.com。如果可以的话,请告诉我如何编写上面的演示代码,而是改用 Graph API。
  • 你基本上在图表中做同样的事情。致电{page_id}/feed 并将您想要的数据发布到页面(如您的代码中)。
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-25
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多