0

Facebookページとして、Facebookページへの(PHPでの)投稿を自動化しようとしています。有効期限のないトークンを取得し、ページとして投稿する際に問題が発生しています。有効期限のないトークンを使用してユーザーとして投稿できるようですが、ページとしては投稿できません。ドキュメントには例として多くのことが望まれているため、誰かがこれを実現するための手順を概説できますか? アプリを作成し、manage_pages、publish_stream、offline_access のアクセス許可をユーザーに付与しました。ページに投稿しようとすると (問題ありません)、ページではなくユーザーとして投稿されます。ユーザーの無期限のアクセストークンとページの無期限のトークンの概念に苦労しています。

アクセス許可を与えるコード:

<?
require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";

$facebook = new Facebook(array(
 'appId' => $app_id,
 'secret' => $app_secret,
 'cookie' => true
));

if(is_null($facebook->getUser()))
{
 header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos,manage_pages,offline_access'))}");
 exit;
}
?>

投稿するコード:

<?
require_once 'facebook.php';

$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$page_id = "PAGE_ID";
$page_access_token = "PAGE_TOKEN";
$facebook = new Facebook(array(
 'appId' => $app_id,
 'secret' => $app_secret,
 'cookie' => true
));

if( !empty($page_access_token) ) {
    $args = array(
        'access_token'  => $page_access_token,
        'message'       => "Test post"
    );
    $post_id = $facebook->api("/$page_id/feed","post",$args);
} else {
}
header("Location: http://example.com/")

?>
4

2 に答える 2

1

offline_accessが廃止されたことをご存知ですか?

于 2012-02-20T19:40:02.207 に答える
0

まったく新しいアプリを作成しました。非推奨のオフラインアクセスが有効になっていることを確認しました。manage_pagesエクスプローラーに行き、ドロップダウンで新しいアプリを見つけ、自分自身を許可しme/accounts、ページアクセストークンの1つを取得して、それをリントしました。そこで、その1時間のページトークンを交換しようとしましたが、Facebookからエラーが発生しました。

ユーザーアクセストークンに戻り、60日間のトークンと交換しました。リンターで60日であることを確認しました。ページアクセストークンの1つに戻ってme/accounts取得し、それをリントしました。サプライズ!そこから60日のトークンを取得しました。

したがって、話の教訓は、ページトークンを交換することはできず、ユーザートークンのみを交換することです。ただし、60日間のユーザートークンを使用すると、60日間のページトークンを取得できます。:)

于 2012-02-21T20:06:54.607 に答える