ユーザIDとアクセストークンの取得

続いて、左ペインの[Graph APIエクスプローラを使用する]をクリックします。 Graph APIエクスプローラは、リクエストURL、パラメータなどを指定して[送信]ボタンをクリックすることにより、どんなレスポンスが返ってくるかを確認できる、対話的なツールです。

図6.Graph API Explorer画面

[GET▼]ボタンの右側の欄の[https://graph.facebook.com/]の部分が起点のURLになります。また、その右側にある15桁の数字が自分のユーザIDになりますので、控えておいてください。

右側にある[アクセストークンを取得]ボタンをクリックし、表示されるダイアログで[Extended Permissions]タブをクリックし、[status_update][read_stream]にチェックし、[Get Access Token]ボタンをクリックします。

図7.Select Permission画面

表2.Permissionの例

Permission 許可する操作内容
status_update Facebookへの投稿
read_stream ニュースフィードへのアクセス
photo_upload 写真のアップロード
read_friendlist 友達リストへのアクセス

アプリの許可画面では[許可する]ボタンをクリックしてください。

図8.アクセストークン取得画面

[アクセストークン]の右の長い文字列がアクセストークンですので、控えておいてください。

Facebookのリクエストとレスポンス

目的ごとのリクエストとパラメータは、以下の通りです。

表3.今回利用するリクエスト

目的 リクエストURL HTTPメソッド
友達のフィードの表示 https://graph.facebook.com/(ユーザID)/home GET
自分のフィードの表示 https://graph.facebook.com/(ユーザID)/feed GET
ウォールへの投稿 https://graph.facebook.com/(ユーザID)/feed?message="(投稿文)" POST
いいね! https://graph.facebook.com/(投稿ID)/likes POST
コメント https://graph.facebook.com/(投稿ID)/comments POST

投稿IDは、「ニュースフィード画面の表示」でのレスポンスから取得します。パラメータとして、access_token=(アクセストークン)は全てのリクエストで必須です。

ニュースフィード画面の表示リクエストに対するレスポンスは、以下のようなJSON形式になっています。

図9.レスポンスのサンプル

表4.レスポンス項目で今回使うもの

要素のパス 説明
data 投稿の件数だけ存在する(配列)
data(i).id i番目の投稿のID
data(i).from.name i番目の投稿者の名前
data(i).message i番目の投稿の文章
data(i).created_time i番目の投稿の作成日時
data(i).likes.data i番目の「いいね!」の件数だけ存在する(配列)
data(i).likes.data(j).name i番目の「いいね!」と言っているj番目の人の名前
data(i).comments.data i番目のコメントの件数だけ存在する(配列)
data(i).comments.data(k).from.name i番目のコメントのk番目の記入者の名前
data(i).comments.data(k).message i番目のコメントのk番目の文章
data(i).comments.data(k).created_time i番目のコメントのk番目の作成日時

Excelによる開発

以下の手順で行います。

  1. 各種の値を格納する名前を定義する
  2. 操作画面用のオブジェクトを設定する
  3. HTTP送信を行うVBAを記述する
  4. ニュースフィード画面を表示するVBAを記述する
  5. 投稿、いいね!、コメントを送るVBAを記述する

各種の値を格納する名前を定義する

ニュースフィード画面表示のために、以下の名前を定義しておきます。

表5.ニュースフィード画面表示のための名前定義

名前 範囲 目的
ttlName A2 投稿者などの名前のタイトル
ttlDate B2 投稿などの日時のタイトル
ttlType C2 投稿などのタイプ
ttlId D2 投稿ID
ttlBody E2 投稿などの本文のタイトル

なお、D列は非表示にしておきます。