LoginSignup
7
9

More than 5 years have passed since last update.

【PHP】Facebook GraphAPI を使って写真記事を投稿する方法

Posted at

Facebook GraphAPI

今回はFacebook GraphAPI を使って写真記事を投稿する方法を解説します。
1.png

投稿されている解説記事がどれも古かったので永久(有効期限3年くらい)保存版として残すことにします。

環境

"Windows 10"で投稿する方法を解説します。

準備

PHPをインストール

長くなるのでこちらの記事をご参照ください。

Composerをインストール

長くなるのでこちらの記事をご参照ください。

Facebook Deveroperに登録

長くなるのでこちらの記事をご参照ください。

Facebook PHP Graph SDKをダウンロード

Facebook PHP Graph SDK(.zip)をダウンロードする。
ダウンロードしたzipを展開する。

3.png

展開したフォルダ内にあるFacebookフォルダの上の階層にソースコードと画像ファイルを追加する。
C:\(ダウンロードした場所)\php-graph-sdk-5.x\php-graph-sdk-5.x\src

当記事ではC:\Users\wafuu\Downloads\php-graph-sdk-5.x\php-graph-sdk-5.x\srcです。

4.PNG

ソースコードを追加する。
"app_id"("aaaaaaaaaa"の箇所)は"アプリID"
"app_secret"("bbbbbbbbbb"の箇所)は"app secret"
"$fb->post関数"("cccccccccc"の箇所)は"ページアクセストークン"
に書き換えます。

"アプリID""app secret"の確認方法はこちらの記事をご参照ください。
"ページアクセストークン"こちらのページに記載されています。

main.php
<?php
require __DIR__ . '\\Facebook\\autoload.php';

$fb = new \Facebook\Facebook([
    "app_id"=>"aaaaaaaaaa",
    "app_secret"=>"bbbbbbbbbb",
    "default_graph_version"=>"v2.10",
]);

  $data = [
    'message' => 'My awesome photo upload example.',
    'source' => $fb->fileToUpload('photo.jpg'),
  ];

  try {
    $response = $fb->post('/me/photos', $data, "cccccccccc");
  }
  catch(Facebook\Exceptions\FacebookResponseException $e) {
    echo 'Graph returned an error: ' . $e->getMessage();
    exit;
  }
  catch(Facebook\Exceptions\FacebookSDKException $e) {
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
    exit;
  }

  $graphNode = $response->getGraphNode();

  echo 'Photo ID: ' . $graphNode['id'];

?>

出力する画像ファイルを追加する。
photo.jpg

これで準備が出来ました。
2.png

コマンドプロンプトでphp main.phpと実行します。

コマンドプロンプト
C:\Users\wafuu\Downloads\php-graph-sdk-5.x\php-graph-sdk-5.x\src>php main.php
Photo ID: 111111111111

無事に投稿できました。
1.png

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9