【问题标题】:Facebook post to business/community page using latest PHP SDKFacebook 使用最新的 PHP SDK 发布到商业/社区页面
【发布时间】:2014-09-26 15:05:04
【问题描述】:

我正在尝试将内容从我的网站发布到我的 facebook 页面(使用最新的 facebook api)。

连接到我的应用程序后(运行良好),我有这段代码可以将某些内容发布到我的时间轴上。

$response = (new FacebookRequest(
$session, 'POST', '/me/feed', array(
'name' => 'Test 1',
'caption' => "Test 2",
'link' => 'https://www.google.com',
'message' => 'Test 3'
)));

这很好用,但是当我将 '/me/feed' 更改为 '/nameofbusinesspage/feed' 时,它似乎可以登录到 facebook,但随后会返回一个冗长的错误消息。 . .

致命错误:未捕获的异常“Facebook\FacebookServerException”带有消息“发生意外错误。请稍后重试您的请求。

任何想法我应该如何引用业务/社区页面?

旧 SDK 上有很多线程 - 但这是 v4.0(看起来完全不同)。

【问题讨论】:

    标签: php facebook sdk


    【解决方案1】:

    您是否尝试使用“/id-of-businesspage/feed”而不是“/nameofbusinesspage/feed”?

    【讨论】:

    • 感谢您的回复 - 是的,我也尝试过 id - 同样的问题
    【解决方案2】:

    终于想通了 - 为其他人。 . .

    以下是使用 facebook 建立登录后的代码(由 $session var 引用)。 . .

    $pageid ="**********";
    $get = (new FacebookRequest($session, 'GET', '/me/accounts'));
    $accounts = $get -> execute() -> getGraphObject() -> asArray();
    // get data object
    $data = $accounts["data"];
    // get access_token from account with matching id
    foreach ($data as $page) { 
    if ($page -> id == $pageid) { $accesstoken = $page -> access_token; } }
    // post to facebook account
    $post = (new FacebookRequest($session, 'POST', '/'.$pageid.'/feed', 
    array('access_token' => $accesstoken, 
    'name' => 'Test 1', 
    'caption' => "Test 2", 
    'link' => 'https://www.google.com', 
    'message' => 'Test 3')));
    $return = $post -> execute() -> getGraphObject() -> asArray();
    

    $pageid 是您的 Facebook 页面的(数字)ID(位于“设置”下)。

    希望它能节省我浪费在试错上的一天。

    【讨论】:

      猜你喜欢
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多