2

私は現在、2012 年の夏には発生しなかった Facebook API の問題に直面しています。自分でフェイスブックのページに行き、そこに投稿しました。

したがって、私のアプリではpublish_stream、ページ フィードに投稿できるようにするために、拡張アクセス許可が必要です。

投稿自体を解決するために、私は次のことをしていました:

try{
    $response_object = $fb->api('XXX/feed', 'POST', array(
        'message' => $input->post('user_text'),
    ));     
}
catch(Exception $e){
    die($e->getMessage());
}

昨年、これは問題なく機能していました。ページのフィード (上記のコード スニペットでは PageId が XXX に置き換えられています) で、アプリを使用したユーザーによる投稿がページに表示されました。

驚いたことに、今日同じことをしようとしたとき、上記のスニペットの例外は咳でした。fb API でデータを処理する方法は何も変更していません。

私が受け取ったメッセージは次のとおりです。

(#283) Requires extended permission: manage_pages

ページ管理者としてではなく、ユーザーとしてウォールに投稿する必要があります。publish_stream アクセス許可で承認するときにユーザー アクセス トークンを取得しましたがmanage_pages、ユーザー ページを管理する必要がないため、アクセス許可を取得したくありません。

私がやりたいことは、アプリを使用しているユーザーとしてファン ページに投稿するだけです。

Facebook は最近、「投稿からフィードへの手順」で何か変更を加えましたか?

前もってありがとうトーマス

4

2 に答える 2

1

これは、特定のページの管理者であるユーザーがそのページのフィードに (ページとしてではなくユーザーとして) 投稿することを禁止する問題と関連付けることができます。

(ページの管理者としてではなく)平均的なユーザーとして投稿しようとしている場合に同じことが起こるかどうかを確認してください。私の経験から、平均。アプリケーションに権限 (publish_stream、publish_action) がある場合、ユーザーはそれを行うことができます。

ここに私のバグレポートがあります: https://developers.facebook.com/bugs/167764356741336?browse=external_tasks_search_results_51f780dd6e9da2d82532422

于 2013-07-30T09:06:29.977 に答える
1

自己中心的で申し訳ありません。ここで質問してから数日後に問題を解決しました。理由は聞かないでください。ユーザーとしてページ フィードに投稿するときに CURL を使用すると、すべてが期待どおりに機能します。

<?php

$postfields = array(
    'message' => 'The message to be posted on the feed',
    'link'    => 'http://anyurl.com',
    'access_token' => 'A_VALID_USER_ACCESS_TOKEN', // This is the important part, don't miss it
);

$posturl = 'https://graph.facebook.com/PAGE_ID/feed';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $posturl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
curl_close($ch);    

?>

定義済みのコンテンツを投稿することは許可されていませんが、ユーザーがメッセージを投稿することは常に許可されていることに注意してください。そうしないと、Facebook はアプリがページ フィードへの投稿を許可されないようにします。

于 2013-07-30T06:45:47.970 に答える