Facebook时间线墙贴不能按预期工作

时间:2012-07-09 12:32:35

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

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

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

我现在使用access_token在一个页面上发布消息(/ PAGEID / feed),其中我是主持人。

以下是OKAY,并以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,
);

如何在墙上自行发布包含链接和图片的完整消息?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:-3)

这个问题困扰了我很久。一切似乎都设置正确,但一旦我添加了一个链接,它将作为Admin而不是Page发布。 triangle_man上面的答案解决了我的问题。使用PHP sdk时,我需要的特定代码行是:

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