Facebookとウェブサイトを連携 ログイン 名前取得 ウォール(wall)への書き込み 写真アップロード
SDK for PHP で情報の取得や更新
SDK for PHP で情報の取得や更新
以下のサンプルコードでは、Facebook SDK for PHP を利用して、ID,パスワードで Facebookへログインし、ログインユーザーの名前を取得したり、ウォールへの書き込みを行ったり、写真をアルバムへアップロードしたりするコードです。
SDK for PHP でユーザー名取得(アルファベット)
SDK for PHP を介して、ユーザーのプロファイルを取得し、そのユーザー名を表示させます。
以下のサンプルコードの下記3つの内容を自分の環境に合わせて書き換えて下さい。
- YOUR_PHP_SDK_DIR_PATH(php-sdkへのパス)
- YOUR_APP_ID (FacebookアプリケーションのID)
- YOUR_APP_SECRET (FacebookアプリケーションのSECRET)
FacebookアプリケーションIDなどが不明な場合は一度こちらのページを読んで下さい。php-sdkの設置やFacebookアプリケーションの作成など一通り説明されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <!-- サンプルコード --> <? // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/ // require_once('php-sdk/facebook.php'); require_once('YOUR_PHP_SDK_DIR_PATH'); $config = array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); ?> <html> <head></head> <body> <? if($user_id) { // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $user_profile = $facebook->api('/me','GET'); echo "Name: " . $user_profile['name']; } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here. $login_url = $facebook->getLoginUrl(); echo 'Please <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } } else { // No user, print a link for the user to login $login_url = $facebook->getLoginUrl(); echo 'Please <a href="' . $login_url . '">login.</a>'; } ?> </body> </html> |
SDK for PHP でFQLクエリを使用してユーザー名を取得します
以下のサンプルコードの下記3つの内容を自分の環境に合わせて書き換えて下さい。
- YOUR_PHP_SDK_DIR_PATH(php-sdkへのパス)
- YOUR_APP_ID (FacebookアプリケーションのID)
- YOUR_APP_SECRET (FacebookアプリケーションのSECRET)
FacebookアプリケーションIDなどが不明な場合は一度こちらのページを読んで下さい。php-sdkの設置やFacebookアプリケーションの作成など一通り説明されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | <!-- サンプルコード --> <? // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/ // require_once('php-sdk/facebook.php'); require_once('YOUR_PHP_SDK_DIR_PATH'); $config = array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); ?> <html> <head></head> <body> <? if($user_id) { // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $fql = 'SELECT name from user where uid = ' . $user_id; $ret_obj = $facebook->api(array( 'method' => 'fql.query', 'query' => $fql, )); // FQL queries return the results in an array, so we have // to get the user's name from the first element in the array. echo 'Name: ' . $ret_obj[0]['name']; } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here. $login_url = $facebook->getLoginUrl(); echo 'Please <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } } else { // No user, so print a link for the user to login $login_url = $facebook->getLoginUrl(); echo 'Please <a href="' . $login_url . '">login.</a>'; } ?> </body> </html> |
SDK for PHP でウォールに書き込みをします
以下のサンプルコードの下記3つの内容を自分の環境に合わせて書き換えて下さい。
- YOUR_PHP_SDK_DIR_PATH(php-sdkへのパス)
- YOUR_APP_ID (FacebookアプリケーションのID)
- YOUR_APP_SECRET (FacebookアプリケーションのSECRET)
FacebookアプリケーションIDなどが不明な場合は一度こちらのページを読んで下さい。php-sdkの設置やFacebookアプリケーションの作成など一通り説明されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <!-- サンプルコード --> <? // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/ // require_once('php-sdk/facebook.php'); require_once('YOUR_PHP_SDK_DIR_PATH'); $config = array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); ?> <html> <head></head> <body> <? if($user_id) { // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $ret_obj = $facebook->api('/me/feed', 'POST', array( 'link' => 'www.example.com', 'message' => 'サンプルメッセージ Posting with the PHP SDK!' )); echo 'Post ID: ' . $ret_obj['id']; } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here. $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' )); echo 'Please <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } // Give the user a logout link echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>'; } else { // No user, so print a link for the user to login // To post to a user's wall, we need publish_stream permission // We'll use the current URL as the redirect_uri, so we don't // need to specify it here. $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) ); echo 'Please <a href="' . $login_url . '">login.</a>'; } ?> </body> </html> |
SDK for PHP でアルバムに写真をアップロードします
以下のサンプルコードの下記4つの内容を自分の環境に合わせて書き換えて下さい。
- YOUR_PHP_SDK_DIR_PATH(php-sdkへのパス)
- YOUR_APP_ID (FacebookアプリケーションのID)
- YOUR_APP_SECRET (FacebookアプリケーションのSECRET)
- YOUR_IMG_PATH (画像パス このサンプルコードファイルを設置した場所からのパス)
FacebookアプリケーションIDなどが不明な場合は一度こちらのページを読んで下さい。php-sdkの設置やFacebookアプリケーションの作成など一通り説明されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <!-- サンプルコード --> <? // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/ // require_once('php-sdk/facebook.php'); require_once('YOUR_PHP_SDK_DIR_PATH'); $config = array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', 'fileUpload' => true, ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); $photo = 'YOUR_IMG_PATH'; // Path to the photo on the local filesystem $message = 'サンプルメッセージ Photo upload via the PHP SDK!'; ?> <html> <head></head> <body> <? if($user_id) { // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { // Upload to a user's profile. The photo will be in the // first album in the profile. You can also upload to // a specific album by using /ALBUM_ID as the path $ret_obj = $facebook->api('/me/photos', 'POST', array( 'source' => '@' . $photo, 'message' => $message, ) ); echo 'Photo ID: ' . $ret_obj['id']; } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here. $login_url = $facebook->getLoginUrl( array( 'scope' => 'photo_upload' )); echo 'Please <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>'; } else { // No user, print a link for the user to login // To upload a photo to a user's wall, we need photo_upload permission // We'll use the current URL as the redirect_uri, so we don't // need to specify it here. $login_url = $facebook->getLoginUrl( array( 'scope' => 'photo_upload') ); echo 'Please <a href="' . $login_url . '">login.</a>'; } ?> </body> </html> |
Graph API Methods
グラフ(Graph)APIメソッドを呼び出すには、最初のパラメータ、および必要に応じて他のオプションのパラメータとして取得したいエンドポイントのパスを渡します。
$ret = $facebook->api($path, $method, $params);
path
要求に対するグラフAPIのパス 例えば “/me/”の場合、ログインユーザーのプロフィールに記録されます。
method
[オプション] 要求内容に応じてHTTPメソッドを指定します。’GET’, ‘POST’, あるいは ‘DELETE’ を指定。
params
[オプション] 特定のグラフ(Graph)APIでは、固有のパラメーターを指定することが出来ます。パラメーターは 「’名前’ => ‘値’」のペアにして連想配列として指定します。
FQLクエリ(Queries)
FQLクエリを実行するには、メソッドに ‘fql.query’ と指定し、’query’ SQLを指定します。それらのパラメータを配列として渡します。
1 2 3 4 5 | <!-- サンプルコード --> $ret = $facebook->api( array( 'method' => 'fql.query', 'query' => 'SELECT . . . ', )); |
タグ(=記事関連ワード)
日付
最終更新日:2017年03月20日