PHPで複数の画像をfacebookに投稿する方法
[参考記事] facebook APIを使用する時にfacebook Appsでアプリを登録するまでの流れ
[参考記事] PHPでのfacebookアプリの認証処理(APIを使うユーザー認証)
[参考記事] PHPでfacebookのフィード(ウォール)に投稿する方法
[参考記事] PHPでfacebook投稿時に公開範囲を指定する方法
複数の画像を投稿するにはアルバムを使います。
defined("FACEBOOK_APP_ID") || define("FACEBOOK_APP_ID", 【App ID】); defined("FACEBOOK_SECRET") || define("FACEBOOK_SECRET", 【App Secret】); $facebook = new Facebook(array( 'appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET, )); $uid = $facebook->getUser(); if(!empty($_GET['error_code'])){ echo 'facebook認証エラー'; exit; }elseif(!$uid){ $params = array( 'redirect_uri' => "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["SCRIPT_NAME"], 'scope' => 'publish_stream', ); $fb_login_url = $facebook->getLoginUrl($params); header("Location: " . $fb_login_url); exit; } try { $me = $facebook->api('/me'); // アルバムを作る場合 $album=$facebook->api('me/albums','POST',array( //アルバム作る "name" => 'アルバム名', "message" => 'このメッセージが投稿されます。' )); if(empty($album['id'])){ die('Facebookの投稿に失敗しました。'); } $albumID = $album['id']; // アルバムID $facebook->setFileUploadSupport( true ); // これを画像の枚数分繰り返します。 $result = $facebook->api("/".$albumID."/photos", "POST", array( "message" => '画像のキャプションです。', "source" => '@'.【画像のパス】, )); if(empty($result['id'])){ die('Facebookの投稿に失敗しました。'); } } catch (FacebookApiException $e) { throw new Exception($e->getMessage()); }
画像が1枚の時には、タイムラインには画像のキャプションが本文として投稿されます。
画像が2枚の時には、タイムラインには1つの投稿ではなく、2つの画像それぞれの書き込みとして投稿されます。
画像が3枚以上の時には、アルバムでまとめて投稿されます。
タイムラインで大きく表示される画像やアルバム一覧のサムネイルに使われる画像は、アルバムの中で最後に投稿された画像です。
関連記事
- PHPでfacebook投稿時に公開範囲を指定する方法
- PHPでfacebookのフィード(ウォール)に投稿する方法
- PHPでのfacebookアプリの認証処理(APIを使うユーザー認証)
- facebook APIを使用する時にfacebook Appsでアプリを登録するまでの流れ
- PHP
- サンプルコード
- プログラムでもっとも正確に日本の祝日を求める方法(内閣府公表CSVの過去3度の改訂履歴)
- PCからデコメールを送るときの仕様
- fgetcsv関数を文字化け対応 setlocaleの文字コード指定
- == と === の違い(比較演算子)
- Geeklog(ギークログ)
- UTF-8からSJISで文字化け
- Fatal error: Call to undefined function imagecreatefromjpeg() の対処法
- Net_UserAgent_Mobile 携帯判別PEARパッケージの使い方と注意点
- date型やdatetime型と年月日時分秒への変換
- CakePHPのバージョンごとのシステム要件
- セッションの有効期間とか設定とか挙動とかを調べました
- ブラウザの中止ボタンを押した後も処理を実行させる方法 タイムアウト以外の停止
- 携帯電話端末の判別ライブラリ Net_UserAgent_Mobile
- simplexml_load_file()、simplexml_load_string()でparser error : Input is not proper UTF-8, indicate encoding !
- Wordpress
- OpenTask [バグ追跡システム]
- SELECTタグで色を選択する場合のサンプル
- 負荷が高いときには503エラーを返す方法
- Excelで保存したときのCSVファイルの仕様
- cronを実行すると『TERM environment variable not set.』というエラーメールが飛ぶ
- str関数、preg関数、ereg関数の速度比較
- SSL(HTTPS)でファイルのダウンロードができない場合
- 関数・メソッドの存在を調べる方法
- ダブルクオート/シングルクオート/ヒアドキュメント、echo/printの速度比較
- date.timezoneを設定するとPHPが早くなる
- mb_strlenやmb_strimwidthの注意点
スポンサーリンク