【问题标题】:Facebook timeline wallpost doesn't work as aspectedFacebook 时间线墙贴无法按预期工作
【发布时间】:2012-07-09 12:32:35
【问题描述】:

我正在使用 Facebook SDK Api [PHP] 在时间线墙上自动发布。

我创建了一个应用程序并请求了具有以下权限的 access_token:manage_pages、publish_stream、offline_access。

我现在使用 access_token 将消息发布到我是版主的页面 (/PAGEID/feed) 上。

以下一切正常,并以 Facebook 页面的名称发布帖子:

$attachment = array(
    'access_token'      => $accessToken,
    'message'           => $description,
);

$res = $facebook->api('/PAGEID/feed', 'POST', $attachment);

当我添加一些 link + name 和/或 picture 时,它不会以墙帖的形式发布,而是以“其他人的最新消息”的形式发布,并以我自己的用户为名:

$attachment = array(
    'access_token'      => $accessToken,
    'message'           => $description,
    'link'              => 'http://www.google.nl',
    'name'              => $description,
    'picture'           => $image,
);

我如何在墙上发布带有链接和图片的完整消息?

【问题讨论】:

    标签: facebook facebook-graph-api sdk facebook-php-sdk facebook-wall


    【解决方案1】:

    如果我理解正确,您正试图以主页的形式发布,但它显示为您发布的帖子。对吗?

    如果是这样,我认为您需要使用主页的访问令牌而不是您自己的访问令牌发布。查看https://developers.facebook.com/docs/reference/api/page/ 上名为“页面访问令牌”的部分。使用此处描述的技术获取页面的访问令牌后,您可以通过执行 $facebook->setAccessToken(.... access token value ...) 将其设置为 PHP SDK 使用的令牌。然后你可以发布帖子,它应该显示为由页面创建。

    【讨论】:

      【解决方案2】:

      这个问题困扰了我很久。一切似乎都设置正确,但是一旦我添加了链接,它就会以管理员而不是页面的身份发布。 triangle_man 上面的答案解决了我的问题。使用 PHP sdk 时,我需要的具体代码行是:

      $page_token = $facebook->api("/$page_id?fields=access_token");

      【讨论】:

      • 这引起了人们对所需代码行的注意,但它确实没有回答问题。相反,您参考接受的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 2014-12-09
      • 2016-01-13
      相关资源
      最近更新 更多