1

我正在开发一个程序来将相册添加到公司网站并同时将其发布到公司的 facebook 页面。到目前为止,网站专辑帖子运行良好,但我在将其发布到 facebook 时遇到了问题。我正在使用新的 SDK 4,在管理员的 facebook 页面下的 facebook 中设置了一个应用程序,并成功创建了一个可以获取所有公司相册信息的会话,但是当我尝试将新相册发布到业务页面时,我收到此错误:

'Facebook\FacebookAuthorizationException' 带有消息'(#100) 专辑所有者的 ID 无效'

我在 facebook 开发者网站上找不到任何有用的东西时遇到问题,这里有人能指出我正确的方向吗?这是我的代码:

<?php

require_once("php/facebook/autoload.php");

session_start();

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;

// start session

// init app with app id and secret
FacebookSession::setDefaultApplication( 'APP_ID','SECRET' );

// login helper with redirect_uri
    $helper = new FacebookRedirectLoginHelper('test.php' );

try {
  $session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
  // When Facebook returns an error
} catch( Exception $ex ) {
  // When validation fails or other local issues
}

// see if we have a session
if ( isset( $session ) ) {
  // graph api request for user data
  $request = new FacebookRequest( $session, 'GET', '/BUSINESS PAGE ID/albums' );
  $response = $request->execute();
  // get response
  $graphObject = $response->getGraphObject();

  $request = new FacebookRequest(
      $session,
      'POST',
      '/BUSINESS PAGE ID/albums',
      array (
        'name' => 'Test Album',
        'message' => 'This is for testing purposes only',
      )
  );
  $newAlbumID = $request->execute();

  // print data
  echo 'New Album ID: '.$newAlbumID.'<br />';
  //echo '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
} else {
  // show login url
  echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}

?>

任何帮助将不胜感激。谢谢!

4

0 回答 0