QA@IT

Graph APIでFacebookページに投稿すると、「ページからの投稿」ではなく「個人ユーザからの投稿」として表示されてしまう

4564 PV

Facebookページの管理者が「近況」を投稿するのと同等のことをAPI経由で自動でやろうと思い、

https://graph.facebook.com/ページID/feed?message=本文&access_token=アクセストークン

にPOSTしたのですが、ページの権限で投稿されたものではなく、ファンからのメッセージとして表示されてしまいます。
以下のことは確認してあります。

  • ページの管理者の権限を持っています。
  • manage_pagesパーミッションは取得済みです。
  • 自分自身のページに
  • ページIDは正しいことを確認済みです (https://graph.facebook.com/ページID/ で、当該ページの情報が取得できます)。

「ファンからの投稿」としてではなく「ページの権限での投稿」を行うにはどうすれば良いのでしょうか?

回答

Facebookページでは「ページの管理人の個人アカウント」でログインした状態でページの権限での投稿ができますが、API経由ではそうではありません。
「ページ管理者の個人アカウント」とは別に、「ページ」として認証を行ってアクセストークンを得る必要があります。

参考: http://developers.facebook.com/docs/authentication/pages/

まずページ管理者の個人アクセストークンを使って以下のURLをGETします。

https://graph.facebook.com/me/accounts?access_token=ページ管理者の個人アクセストークン

すると、自分が管理しているページのアクセストークンが返ってきます。

{
  "data": [
    {
      "name": "ページA", 
      "access_token": ページAのためのアクセストークン, 
      "category": "Consulting/business services", 
      "id": "ページAのID"
    }, 
    {
      "name": "ページB", 
      "access_token": ページBのためのアクセストークン, 
  //略
    }, 
//略
 ]
}

このアクセストークンを使ってAPIを叩くと、すべて「ページの権限」で実行することができます。たとえば、次のようなPOSTリクエストでページAの権限で投稿できます。

https://graph.facebook.com/ページAのID/feed?message=本文&access_token=ページAのアクセストークン
編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。