「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
Facebookアプリ開発に挑戦(その12・Facebookページのウォールに投稿)
先日の記事では、ユーザーのウォールにプログラムからメッセージを投稿する方法を紹介しました。
この方法を応用すると、ユーザーのウォールだけでなく、ユーザーが管理しているFacebookページのウォールにメッセージを投稿することもできます。
その方法を紹介します。
1.manage_pageのPermissionを得る
プログラムでFacebookページを操作するには、「manage_page」というPermissionを得ることが必要です。
先日の「OAuth 2.0認証の概要」で解説した方法(Client-side flow)か、Server-side flowを使って、manage_pageのPermissionがあるアクセストークンを取得します。
2.Facebookページごとのアクセストークンを得る
次に、1.で得たアクセストークンを使って、以下のようなアドレスにアクセスします。
https://graph.facebook.com/me/accounts?access_token=アクセストークン
すると、以下のようなJSONの文字列が返されます。
{ "data": [ { "name": Facebookページの名前, "category": Facebookページのカテゴリ, "id": FacebookページのID, "access_token": Facebookページにアクセスするためのアクセストークン }, { "name": Facebookページの名前, "category": Facebookページのカテゴリ, "id": FacebookページのID, "access_token": Facebookページにアクセスするためのアクセストークン }, ・・・ }
この情報から、個々のFacebookページにアクセスする際のアクセストークンが分かります。
3.Facebookページのウォールに投稿する
FacebookページのIDと、それに対応するアクセストークンが分かれば、それらの情報を使って、Facebookページのウォールにメッセージを投稿することができます。
投稿するには、POSTプロトコルで以下のようなアドレスにアクセスします。
https://graph.facebook.com/FacebookページのID/feed
また、POSTの際のパラメータとして、以下の各情報を渡します。
パラメータ名 | 内容 |
---|---|
access_token | Facebookページにアクセスするためのアクセストークン |
message | メッセージの本文 |
picture | メッセージに画像を添付する場合は、その画像のアドレス |
link | メッセージから他のページへのリンクする場合は、そのリンク先のアドレス |
name | メッセージから他のページへのリンクする場合は、そのリンク先のページの名前 |
caption | メッセージから他のページへのリンクする場合は、そのリンク先に関するキャプション(サイト名など) |
description | メッセージから他のページへのリンクする場合は、そのリンク先のページの概要 |
4.Facebookページのウォールに投稿するプログラム
「Facebookアプリ開発に挑戦(その11・Graph APIでウォールに投稿)」の記事で、ユーザーのウォールに投稿するPHPのプログラムの例を挙げました。
このプログラムを一部書き換えることで、Facebookページのウォールに投稿することもできます。
書き換える箇所は、以下の2か所です。
- 2行目の「$token = 'アクセストークン';」で、アクセストークンとして、Facebookページにアクセスするためのアクセストークンを指定します。
- 6行目の「curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/me/feed');」で、URL内の「me」を、FacebookページのIDに置き換えます。