• ベストアンサー
  • すぐに回答を!

Facebook APIでユーザー名取得

Facebook APIを使い自分のwebサイトでFacebookのユーザー名取得しようとしています。 下記サイトを参考に設定をしたのですが、途中で躓き上手くいきません。 1.http://www.tryphp.net/2011/10/25/phpfacebook-devwebsite_oauth/ 2.http://blog.zolesystem.info/php_facebook_api1/ 色々と検索してみたのですが、同様の現象が見つからず質問させていただきます。 Facebookのアプリ認証画面の表示まではできており、「OK」を押すと自分のWebサイトに戻ってくるのですが、認証前の画面と変化がありません。 ただし、URLだけは.phpの後に「?code=ランダムの文字列」とパラメーターがついたURLに変化しています。 もし、解決方法をご存じの方いらっしゃいましたらご教授お願いします。 どうぞよろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数194
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

質問が漠然としていますが、エスパー回答 require_once("facebook.php"); $facebook = new Facebook(array( 'appId' => FB_APPID, 'secret' => FB_APPPASS, )); //************************* // ログイン状態を取得 //************************* $user = $facebook->getUser(); //************************************* // ログインしている? //************************************* if(!$user){ //ログインできていなければ終了 print "ログインできてねーよ"; exit; } //************************* // ユーザー情報の取得 //***************************** $user_profile = $facebook->api('/me?locale=ja_JP'); print_r($user_profile);

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答いただきありがとうございました。

関連するQ&A

  • Twitterでリクエストトークン取得時にエラー

    初歩的な質問で申し訳ありません。 色々と修正してみたのですが、どうしても分からなかったので質問させてください。 TwitterのAPIを利用してbotシステムを作っているのですが、 最初の認証画面のところで、リクエストトークンが取得できなくなってしまいました。 昨日までは正常に動いていたのを確認できていたんですが・・・ ********** 【ソース】 require_once '../twitteroauth-master/twitteroauth/twitteroauth.php'; $api_key = 'xxxxxx'; $api_secret = 'xxxxxxxxxx'; // TwitterOAuth認証を作成 $twitter = new TwitterOAuth($api_key, $api_secret); // トークン情報から認証URLを取得 $request_token = $twitter->getRequestToken('http://hoge.jp/callback.php'); $url = $twitter->getAuthorizeURL($request_token, true); // セッションにデータを保存 $_SESSION["token"] = $request_token["oauth_token"]; $_SESSION["token_secret"] = $request_token["oauth_token_secret"]; // 認証ページ表示 header("Location: $url"); ********** ちなみに、TwitterのAPI取得画面で、Callback URLは設定しています。 また、twitteroauth.phpのhttpファンクションの中でcurl_error($ci)を表示させると、 「Problem with the SSL CA cert (path? access rights?)」 というエラーメッセージが表示されました。 なぜいきなりエラーが起こるようになってしまったのか、何か不備があるのであれば教えていただけないでしょうか。 お知恵を貸していただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Twitter、FacebookでフォローAPI

    Twitter、FacebookでフォローをしてもらうAPIを探してます! 現在、PHPなどを利用してTwitter、Facebookで相手のタイムラインに投稿を行い なおかつ、フォロー(いいね?)をしてもらう、という機能を実装したいと思っております。 Twitterは「twitteroauth」を利用すればいけるのかと思い、暫く調べておりましたが フォローするAPIは存在しても、フォローをしてもらう、というのが不明でした。 Facebookはよく企業などのアカウントを「いいね」すると自分のタイムライン上に 企業の投稿などが流れるようになるのがありますが、それをFacebookアプリ承認などを 介して自動的に行える方法を探しております。 文章乱れておりまして申し訳ございません。 補足事項ありましたら細くいたしますのでご指摘頂けますと幸いです。 何卒、よろしくお願いいたします。

    • 締切済み
    • PHP
  • mixi graph apiのログイン状況の取得

    xamppの1.7.7(Apache 2.2.21/PHP 5.3.8)上でmixi graph apiのテストをしています。 使用言語はPHPです。 developerサイトのpeopleAPIに関するページは下記URLです。 http://developer.mixi.co.jp/connect/mixi_graph_api/mixi_io_spec_top/people-api/#toc-5 # アクセストークンを抽出 $my_array = json_decode($atdata,true); $at = $my_array["access_token"]; # ログイン状況の取得 $people_api_url = "http://api.mixi-platform.com/2/people/@me/@self?fields=lastLogin?oauth_token=".$at; $people = file_get_contents($people_api_url); echo '<br />'.$people; 上記のfile_get_contentsに対して、failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Requestが出てしまいます。 ちなみにscopeの指定は、 $url = $authorization_url."?client_id=".$consumer_key."&response_type=code&scope=r_profile_last_login&display=pc"; で行なっています。 scopeをr_profileにして、 $people_api_url = "http://api.mixi-platform.com/2/people/@me/@self?oauth_token=".$at; のように変えると、同じpeopleAPI内の友人一覧の取得に関しては取得できるため、scopeの指定が間違っているのだと思うのですが…… 何が間違っているのかわかりません。 PHP初心者でまだわからないことだらけですが、もし何か記述方法の間違い等少しでもわかる方がいれば教えて頂けると幸いです。

    • ベストアンサー
    • PHP
  • facebookのapiでログイン

    phpでのwebアプリ開発をやっていますが、sns系は未経験の者です。 このたび『あるサーバーアプリからfacebookへ自動投稿したい』という問い合わせを受けました。そこで初めてfacebookなるものを調べてみました。 apiを使うとアプリから投稿できることはわかったのですが、facebookにログインしていないとダメなようです。 サンプルコードをいくつか試してみましたが、ログインしていないとログイン画面にリダイレクトされるようです。 今回のアプリはブラウザから起動されるものではないので、ログイン画面からログインするという操作はできません。 apiを使ってアカウントとパスワードでログインするということはできないのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • TwitterのAPI制限について

    OAuthを使ってログインしたいと思い色々調べているのですが APIの実行回数の制限についてよく分かりません。 例えば下記のコードでログイン用のURLを取得しています。 TwitterのAPIの制限が1時間に150回となっているのですが 下記のログインURL呼び出しのリクエストはAPI実行回数制限にカウントされるのか? カウントされるのであれば サーバーIP等での実行回数制限になるのか クライアントIP等での実行回数制限になるのか どちらなのでしょうか? サーバーIPでの制限であればまともにサービス展開できませんし 調べてみたのですが確認できませんでした。 ご存知の方がいらっしゃいましたらご教授下さい。 よろしくお願いします。 <? session_start(); require_once("oauth/twitteroauth/twitteroauth.php"); if($_SESSION['oauth_token']===NULL && $_SESSION['oauth_token_secret']===NULL){ $consumer_key = "xxxxxxxxxxxxxxxxxxxxxx"; $consumer_secret = "xxxxxxxxxxxxxxxxxxxxxx"; // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret); // callbackURLを指定してRequest tokenを取得 $tok = $to->getRequestToken("http://xxxxxxxxx/callback.php"); // セッションに保存 $_SESSION['request_token']=$token=$tok['oauth_token']; $_SESSION['request_token_secret'] = $tok['oauth_token_secret']; // サインインするためのURLを取得 $url = $to->getAuthorizeURL($token); print "<a href=\"$url\">サインイン</a>"; } else{ //サインインしていればヘッダーを出力 include("user_header.php"); } ?>

    • ベストアンサー
    • PHP
  • ツイッターのAPIでOAUTH認証を使用してのAPIリクエストについて

    ツイッターのAPIでOAUTH認証を使用してのAPIリクエストについて ツイッターのAPIを利用してアプリケーションを開発しています。 OAUTH認証でアクセストークンの取得まではできたのですが、 アクセストークンを使ってAPIにアクセスしたところページが 存在しないとの旨を伝えられました。 ↓実際のソース https://twitter.com/1/statuses/update.xml?in_reply_to_status_id=自分のID(アクセストークンで取得したもの)&oauth_consumer_key=OAUTHコンシューマキー&oauth_nonce=ランダム文字列&oauth_signature_method=HMAC-SHA1&oauth_timestamp=タイムスタンプ&oauth_token=アクセストークン&oauth_version=1.0&status=つぶやきたい内容&oauth_signature=署名 上記URLにheader()(リダイレクト)でアクセスしています。simplexml_load_file()や file_get_contents();だと何も取得できませんでした。 特に不安なのがin_reply_to_status_idの指定先と実際のリクエストの仕方が良く わからない事です。何とかして呟きたいのでご教示よろしくお願いいたします。

  • PHPで認証画面に飛ばす

    ホームページで、トップページを認証画面として、認証コードが一致すれば、ログインできるようなページをPHPで作りたいと思っています。 認証がOKならば、特定のページへ飛ばして、認証がNGなら再度認証画面へ戻すような感じです。 この場合、例えばURLを直接入力したりとか、お気に入りなどから、ダイレクトに認証画面以外の所へ来た場合、認証させるように認証画面に飛ばすには、どのようにすればよいでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • Google Calendar API

    現在、初心者ですがwebプログラムの勉強中です。 Google Calendar APIをやろうと思っているのですが、 PHPのライブラリーをインストールして一緒にインストールしたsimple.phpを動かそうとすると失敗します。 simple.phpにClientId, ClientSecret, RedirectUri, DeveloperKeyを入力してindex.phpとして保存しています。 そこにアクセスするとアクセス認証画面になり、許可をするとredirectでそのindex.phpに帰ってくるようになっているのですが、帰ってきてから $calList = $cal->calendarList->listCalendarList(); の行で止まります。 アクセスを認証した状態でClientId, ClientSecret, RedirectUri, DeveloperKeyの行をコメントアウトしてブラウザをリロードするとうまくいきます。 全くもってよく分かりません。 何か心当たりのある方、よろしくお願いします。

  • PHPでtwitterAPI利用時のサーバー設定

    TwitterAPI(ver1.1)を利用して自分のつぶやきをPHPで取得したいと思います。 認証は「OAuth.php」「twitteroauth.php」の外部ライブラリを利用しています。 下記のファイル構成でレンタルサーバーで試したところ、つぶやきのデータが取得できました。 しかし自分で構築したVPSのサーバーで実行しようとしたところ、処理に長く時間がかかり、「取得できません」という表示になってしまいます。 「OAuth」「twitteroauth」を使うにあたり、サーバーで設定すべき項目はあるのでしょうか? また、下記のプログラムで変数 $twObj にはAPIキーなどが配列で入られているのはわかったのですが、 $req 以降の変数はvar_dumpをしても何も表示されません。 TwitterAPIからどのようなメッセージが返ってきているかを表示させるには、どのようなプログラムを書けばよいのでしょうか? 以上、ご回答よろしくお願いいたします。 環境 ----------------------------- PHP 5.3.3 apach 2.2.3 CentOS 5.4(VPSで構築したLinuxサーバー) ----------------------------- ファイル構成 OAuth.php twitteroauth.php tweet.php を同じディレクトリに配置。 tweet.php ------------------------------------------------------------------------------ require_once 'twitteroauth.php'; $twObj = new TwitterOAuth($ConsumerKey,$ConsumerSecret,$AccessToken,$AccessTokenSecret); //APIのキーは取得したものを代入しています。(記載は省略) $req = $twObj->OAuthRequest('https://api.twitter.com/1.1/statuses/user_timeline.json','GET',array('count'=>'10')); $tweets = json_decode($req); if (isset($tweets) && empty($tweets->errors)) { echo '<dl>'; foreach ($tweets as $val) { echo '<dd>' . $val->text . ''; } echo '</dd></dl>'; } else { echo '取得できません。'; } -----------------------------------------------------------------------

    • ベストアンサー
    • PHP
  • facebookをPage pluginで取得

    以前からfacebookのRSSをphpでwebサイトに読み込んでいたのですが、同じ方法で別のfacebookページを設定したところ読み込めなくなりました。 いろいろ調べた結果Page Pluginというのがよさそうだったのですが、タグを生成するページでURLを入力しても「Error: Not a valid Facebook Page url.」と表示されてしまいます。 RSSのURLを入力するなど試してみたのですがうまくいきません。 facebookの設定で、公開範囲が「友達の友達」となっているのですがこれは関係あるのでしょか?

    • ベストアンサー
    • CSS