3

Facebook.com に投稿した場合と同じ詳細で、管理者ユーザーのページのタイムラインにステータスを投稿する機能をアプリに追加しようとしています。私が注目している主な機能は、リンクの共有とサムネイル画像です。たとえば、リンクをステータスに貼り付けると、サムネイル画像が自動検出され、素敵なリンクや説明などが表示されます。他のフォーラムを精力的に読んでいますおよびGraph APIドキュメント、および投稿がページではなく管理者ユーザーとして表示されるという問題に遭遇し続けています。これが私のコードです:

$facebook = new Facebook(array(
  'appId'  => $appID,
  'secret' => $appSecret,
));

$loginUrl = $facebook->getLoginUrl(array(
    "scope" => 'publish_stream, read_insights, manage_pages, photo_upload, video_upload, create_note, manage_notifications'
));

$access_token   = $facebook->getAccessToken();

$fbpost = array();

$fbpost['access_token'] = $access_token;
$fbpost['message']      = $message;
$fbpost['link']         = $link;
$fbpost['description']  = $description;
$fbpost['caption']      = $caption;
$fbpost['picture']      = $fbimg;

$status = $facebook->api('/'.$pageID.'/feed', 'POST', $fbpost);
var_dump($status);

$fbpost['message'] のみを投稿すると、ステータスがページとして正しく投稿されますが、それ以外のものを追加すると、ページではなく認証された管理者ユーザーとして投稿が表示されます。とてもイライラします。何か案は?

4

2 に答える 2

4

ページではなく管理者ユーザーとして表示される投稿で問題が発生し続けます。

次に、管理ユーザーのユーザー アクセス トークンではなく、 ページ アクセス トークンを取得します…</p>

于 2012-06-15T18:07:27.587 に答える
3

ページ/アプリ アクセス トークンで Facebook ドキュメントへのリンクを提供してくれた CBroe に感謝します。それを確認した後、私はこの PHP を思いつきました (ページ アクセス トークンを取得するための適切なドキュメントが PHP SDK にないため)。

$user_token     = $facebook->getAccessToken();
$accounts       = $facebook->api('/me/accounts?access_token='.$user_token);
$account_token  = 0;
foreach ($accounts['data'] as $account) {
    if ($account['id'] == $_SESSION['facebook']) {
        $account_token = $account['access_token'];
    }
}

if ($account_token) {
    /// your page token code
} else {
    echo 'You must be an admin on this page!';
}
于 2012-06-18T13:49:30.687 に答える