【问题标题】:Posting testimonials to Facebook business page from website cms从网站 cms 将推荐信发布到 Facebook 业务页面
【发布时间】:2013-03-08 06:12:10
【问题描述】:

很抱歉,如果之前已处理过此问题,但我的网站人员在使其正常工作时遇到了问题。 我正在使用 facebook open graph api 将我的 PHP 网站 CMS 的推荐信发布到我的 facebook 业务页面。 我有一个 facebook 个人资料,并从我的个人资料中创建了一个业务页面。 我还在我的个人资料下创建了一个应用程序,以获取一个应用程序 ID 和密钥,用于图形 api 代表我从我的网站发布到我的 facebook 业务页面。问题是我需要帖子直接进入我的业务页面并作为我的业务发布,而不是作为或代表我。目前,该 api 正在将帖子直接发送到我的个人资料墙上,显示我通过我的业务页面共享链接,并且它根本没有出现在业务页面上。我需要一种将推荐书直接发布到我的业务页面而不是在我的个人资料墙上的方法。我怎么做?我的理解是他使用了个人 ID 和应用程序密码以及业务页面应用程序 ID 和密码,但似乎得到了相同的结果。
下面的代码是正在使用的,任何帮助将不胜感激;

<?php
$facebook = new Facebook(array(
    'appId'  => 'myappid',
    'secret' => 'mysecrectkey',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {   
    try
    {
        $user_profile = $facebook->api('/me');
        $AccessToken  = $facebook->getAccessToken();
        $data = array("message" => $pdes,"link" => "http://www.website.com.au/testimonial.php", "name" => $name);
        $share = $facebook->api("/me/feed", "POST", $data);
    }
    catch (FacebookApiException $e)
    {
        error_log($e);
        $user = null;
    }
}
?>

【问题讨论】:

  • 您的个人 Facebook 帐户是否也是问题中主页的管理员?

标签: php facebook facebook-graph-api content-management-system


【解决方案1】:

好吧,你的问题就在这里:

$share = $facebook->api("/me/feed", "POST", $data);

此代码将消息发送到您的墙上,而不是页面。为了代表您的页面在您的 Facebook 页面上发帖,首先,您的应用需要获得 manage_pages 和 publish_stream 权限。获得它后,您需要获取要发布的页面的访问令牌:

$pages = $facebook->api('/me/accounts');
foreach($pages as $page)
{
 if($page['id'] == YOUR_PAGE_ID)
    $data['access_token'] = $page['access_token'];
}

获得页面访问令牌后,您必须使用它在页面墙上发送消息:

$facebook->api(YOUR_PAGE_ID . '/feed', 'POST', $data);

【讨论】:

  • 非常感谢,我已经转给我的网络人并等待他的回复。
  • 嗨 Darvex,我想我会包括这个问题。推荐书包括文字,有时包括 1 到 2 张图片,是否有任何具体内容可以确保所有人都将发布到 Facebook 业务页面。再次感谢您。
  • 我不认为有什么具体的事情要做,只要分享几张照片是可能的(从未尝试过,不能说)。您可以阅读有关页面帖子here
猜你喜欢
  • 2012-01-19
  • 1970-01-01
  • 2016-12-16
  • 2014-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 2011-11-01
相关资源
最近更新 更多