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


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