2012-02-20 28 views
0

私は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/") 

?> 
+1

[Facebookページ(/ me/accounts)access_token有効期限?](http://facebook.stackoverflow.com/questions/9235695/facebook-pages-me-accounts-access-token-expiration) – DMCS

答えて

1

あなたはoffline_accessが廃止されていることをご存知でしたか?

+0

私はそれを見ていない...ありがとう。だから、私はページとしてページに自動ポストすると思いますが、毎回新しいトークンを取得する必要があります(または交換トークン)?すべてのサンプル? –

0

新しいアプリを作成しました。廃止予定のオフラインアクセスが有効になっていることを確認してください。エクスプローラに行って、ドロップダウンで私の新しいアプリケーションを見つけた、manage_pagesme/accountsに行って、ページアクセストークンの1つをつかんで、それをlinted.Bummer、1時間の有効期限は、それは良くないので。だから、私はと交換しようと1時間のページトークンと私はFacebookからエラーを得た。

私はユーザーアクセストークンに戻って、60日前に交換しました。それが60日だったことをリンターで確認した。 me/accountsに戻って、ページアクセストークンの1つを取得し、それをlinted。驚き!そこから60日間のトークンを得ました。

したがって、物語の道徳は、ページトークンを交換することはできず、ユーザートークンだけを交換することはできません。しかし、60日間のユーザートークンを使用すると、60日間のページトークンを取得できます。 :)

関連する問題