2012-02-09 7 views
0

ユーザIDではなくページIDによってステータスメッセージがポストされているように見える間に、PHP SDKおよびグラフAPIを使用してステータスメッセージをページに(ユーザープロファイルではなく)投稿できますか?私のアプリはページの壁にステータス更新を正常に投稿することができますが、Facebookのローカルに投稿した場合と同じように、ページ名からのステータスの更新ではなく、管理者のユーザー名による壁紙のように見えます。言い換えれば、ページ名が「Cool Stuff」で、ユーザー名が「Joe Smith」の場合、「Cool Stuff」のページにステータス更新を掲載したいが、私のアプリケーション投稿の更新は「Joe Smith」から表示される。私はすでにステータス配列にページIDとページ名を明示的に設定していますが、それは役に立たないようです。ここに私の現在のコード:ユーザー名ではなくページ名でFacebookにステータスを投稿するにはどうすればいいですか?

$post_info = array(
'access_token' => $facebook->access_token, 
'type' => 'status', 
'message' => 'Hello World!', 
'from' => array('id' => $page_id, 'name' => $page_name) 
); 
$facebook->api('/' . $page_id . '/feed/', 'post', $post_info); 

何か提案がありますか?

+0

[SDK:ページ上のページとして投稿](http://facebook.stackoverflow.com/questions/8742607/sdk-post-as-page-on-a-page)の複製可能 – DMCS

答えて

0

あなたがそのページの管理者である場合は、認証するだけで、ユーザーIDではなくページのユーザーIDとしてステータスを送信するだけです。彼らは2つの異なるエンティティです。

それはちょうど私がここにFBのAPIの認証のドキュメントにこれに対する解決策を見つけた手動のApp最初:-)に対するあなたのページを認証する

1

を確認してください:-)あなたの問題を解決する操作:

https://developers.facebook.com/docs/authentication/

答えはページの下部に近づいています。 「ページログイン」セクションを検索します。基本的に、あなたのアプリはFBにユーザのページアクセストークンのリストを問い合わせなければなりません。動作させたいページのトークンを見つけて、ステータスメッセージポストの通常のユーザーアクセストークンに置き換えます。このコードを追加して、ユーザーのページアクセストークンを取得します(アプリケーションには、このためにmanage_pages権限が必要です)。

$ all_accounts = $ facebook-> api( '/ me/accounts');

print_rを使用して$ all_accountsをダンプすると、それはページ名とアクセストークンの配列であることがわかります。必要なページのトークンを取得し、$ facebook-> access_token(ユーザーのアクセストークン)を最初の質問に投稿したコードのページトークンに置き換えます。ステータスではなく、ページ管理者としてページに表示されます。

関連する問題