1/22/2012

[php で OAuth を使ってみる:第参回] Facebook に文字を post する

Facebook に OAuth を使って post してみる。
※この情報は 2012 年 1 月現在のものです。仕様が変更される可能性は充分にあるので、ご了承ください。

1. アプリを登録する
Facebook 開発者 にアクセスし、「新しいアプリケーションを作成」を押して、アプリの登録を行う。
App Display Name: アプリ名
App Namespace: アプリに割り当てられる固有ディレクトリ
※初めて登録する際には、携帯電話かクレジットカードでの認証が必要になる。

登録後、編集画面で下記の情報を入力する。
連絡先メールアドレス: email アドレス
ウェブサイト: ユーザによる認証動作後にリダイレクトする URL(「4.」でアップする php)
※その他はそのままでも問題ない。

2. 使うキーを確認する
登録後のページにある「App ID/API Key」と、「アプリの秘訣(Secret Key のこと)」を確認する。これが今後必要となるキー。

3. 必要となるライブラリをインストールする
下記からダウンロードし、アプリとするディレクトリにアップする。
facebook/php-sdk: facebook/php-sdk - GitHub, /アプリのディレクトリ/facebook
※元々は「src」ディレクトリだったものをここでは「facebook」にリネームしている。また、アップするものは「src」ディレクトリ内の全て。

4. 認証受け渡し用の php を用意する
下記に必要な事項を埋め、アプリのディレクトリにアップする。
<?php
require_once 'facebook/facebook.php';

$facebook = new Facebook(array(
  'appId' => 'xxxxxxxxxxxxxxxx', // 「2.」で確認した「App ID/API Key」
  'secret' => 'xxxxxxxxxxxxxxxx', // 「2.」で確認した「アプリの秘訣」
  'cookie' => true
));

$fb_user = $facebook->getUser();

if (!$_GET[code]) {
// ユーザの認証前、Facebook にリダイレクトする
// News Feed に post する publish_stream を記載
  $par = array('scope' => 'publish_stream');
  echo "<script type='text/javascript'>location.href = '". $facebook->getLoginUrl($par). "';</script>";
} else {
// ユーザの認証後、リダイレクトで帰ってきた後
  $access_token = $facebook->getAccessToken();

  echo "<script type='text/javascript'>location.href = 'アプリ本体の URL';</script>";
}
?>


5. post する
下記の php をアプリのディレクトリにアップする
<?php
require_once 'facebook/facebook.php';

$facebook = new Facebook(array(
  'appId' => 'xxxxxxxxxxxxxxxx', // 「2.」で確認した「App ID/API Key」
  'secret' => 'xxxxxxxxxxxxxxxx' // 「2.」で確認した「アプリの秘訣」
));

$attachment = array(
  'access_token' => 'xxxxxxxxxxxxxxxx'「4.」で取得した access_token
  'message' => 'テスト', // post する本文
);

$facebook->api('/me/feed', 'POST', $attachment);
echo "<script type='text/javascript'>alert('「". $status. "」をpostしました!');</script>\n";
?>

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.