サイトに FB ログイン システムを実装しようとしています。私はできる限り単純なテスト ログイン ページから始めて、そこから構築したいと考えています。
このメソッドを使用する$facebook->getLoginUrl()
と、生成された URL をクリックするたびにエラーが発生します。
getLoginUrl() によって生成された URL の URL 文字列に client_id パラメータが含まれていないことに気付きました。getLoginUrl 呼び出しでその client_id を設定する必要があることについて、ドキュメントには何もないようです。Facebook オブジェクトのプロパティから取得されたと思います。
これが私のコードとそれが出力するものです。
require_once("php-sdk/facebook.php");
$config = array();
$config[‘appId’] = /* my app id string */;
$config[‘secret’] = /* my app secret string */;
$config[‘fileUpload’] = false; // optional
$facebook = new Facebook($config);
$login_url = $facebook->getLoginUrl(array("scope"=>"email"));
echo "<a href=\"$login_url\">Login with Facebook</a>";
明らかに、appID とシークレットは実際の値です。それらが正確であることを確認するために4回チェックしました。
生成された (編集された) login_url は次のとおりです。
https://www.facebook.com/dialog/oauth?redirect_uri=[mysite]&state=[state_str]&scope=email
そのはず:
https://www.facebook.com/dialog/oauth?client_id=[appID]&redirect_uri=[mysite]&state=[state_str]&scope=email
ブラウザで URL を編集して client_id を含めると、機能します。明らかに、毎回正しいログイン URL を自分で手動で作成できますが、Facebook::getLoginUrl() の使用方法に問題があるかどうかを確認したい