[メモ]FBページへAPIで投稿する

FBページへ管理者でない投稿者本人として投稿できないかと調べてたんですが、
わかりませんでした。。ご存知の方、教えてください。

下記は、自分が、管理者等、何か関わっているFBページへの投稿手順です。
FaceBookアプリを作ってファンページに外部から投稿してみたを参考にさせていただいています。

1.Facebookアプリの情報収集をする
・アプリID
・アプリの秘訣

2.OAuth認証でcodeを取得する
下記のURLへアクセスする
https://graph.facebook.com/oauth/authorize?
client_id=アプリID&
redirect_uri=登録したドメインの適当なコールバックURL&
scope=offline_access,publish_stream,user_status,read_stream,status_update,manage_pages
※scopeはアプリ承認時に出る権限です。
参照:Facebook開発者向けドキュメントの日本語訳とTips

◯ユーザーパミッション
offline_access:
これないですね。。
⇒2012/05/02に廃止になっています。参照
⇒対策としては、App Access Tokenを使う。参照
publish_stream:
ユーザの代理としてステータス投稿したり、それに対してコメントやいいね!をする。
user_status:
ステータス投稿とチェックインへのアクセス。FQLのlocation_postテーブルのリファレンスで、投稿に紐づく位置情報の取得方法を確認してください。
◯拡張パミッション
read_stream:
ユーザのニュースフィードへのアクセスと検索
status_update:
ステータスの更新
◯ページパミッション
manage_pages:
ユーザが管理するFacebookページとアプリページのアクセストークンを取得します。

下記のようにコールバックURLにパラメータで付加されてきます。
コールバックURL?code=aaaaa(ダミーですよ。メッチャ長い。。)

3.ユーザーのアクセストークンを取得する
取得したcodeでユーザーのアクセストークンを取得します。
このトークンを使って、ユーザーが管理者であるなどの情報が取得できます。
https://graph.facebook.com/oauth/access_token?
client_id=アプリID&
redirect_uri=コールバックURL&
client_secret=アプリの秘訣&
code=aaaaa

下記のように表示されます。
access_token=88888(ダミーですよ)

4.FBページのアクセストークンを取得する
ユーザのアクセストークンを使って該当するファンページのアクセストークンを取得します。

https://graph.facebook.com/me/accounts?access_token=ユーザアクセストークン

JSON形式で表示されます。
{
“data”: [
{
“name”: “あれこれ”,
“access_token”: “FBページのアクセストークン”,
“category”: “Internet/software”,
“id”: “なんだかんだ”,
“perms”: [
“ADMINISTER”,
“EDIT_PROFILE”,
“CREATE_CONTENT”,
“MODERATE_CONTENT”,
“CREATE_ADS”,
“BASIC_ADMIN”
]
},
{
“name”: “kuma_login_test”,
“access_token”: “FBページのアクセストークン”,
“category”: “Application”,
“id”: “なんだかんだ2”,
},
],
“paging”: {
“next”: “https://graph.facebook.com/次のFBページのIDなのかな。。/accounts?access_token=アクセストークン&limit=5000&offset=5000&__after_id=なんだかんだ2”
}

投稿したいFBページのIDをメモっときましょ。。

5.投稿する
こんな感じで投稿が出来ます。

⇒ユーザーのアクセストークンでも投稿できた。。
⇒画像を投稿したいとき


※FBページのアクセストークンはいつまでも使えるようだ。。。翌日になっても投稿できた。。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です