私は本当にこれについていくつかの助けが必要です..
私はここのようにしようとしていますFacebook PHP SDK $facebook->getSignedRequest() ユーザー ID と名前を取得します。(ページタブ) Facebookページにリンクされたアプリを作成する..これまでのところとても良い..問題は、何があっても、php-sdkを使用してユーザーIDを取得できないことです..
私はこの修正も試しましたhttps://www.webniraj.com/2012/12/19/facebook-php-sdk-fixing-getuser-on-php-5-4-x/しかし、それは何もしませんでした違い
require 'php-sdk/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'myappid',
'secret' => 'mysecretid',
));
$theRequest = $facebook->getSignedRequest();
$user = $facebook->getUser();
var_dump($user);
何を試しても、ユーザーIDを取得できませんでした..
ポールが提案したリンクを試しました
次のコードで
if ($_REQUEST) {
$signed_request = $_REQUEST['signed_request'];
} else {
echo '$_REQUEST is empty';
}
function parse_signed_request($signed_request) {
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
// decode the data
$sig = base64_url_decode($encoded_sig);
$data = json_decode(base64_url_decode($payload), true);
return $data;
}
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_', '+/'));
}
$data = parse_signed_request($signed_request);
var_dump($data);
応答として「NULL」を受け取りました.. :S
2番目の編集..私はこのコードを手に入れました
$information=parse_signed_request($signed_request, $secret); $oauth_token=$情報["oauth_token"];
var_dump($情報); var_dump($oauth_token);
$app_id = "myappid";
$canvas_page = "https://apps.facebook.com/app_namespace";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=read_stream, friends_likes";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($oauth_token)) {echo("<script> top.location.href='" . $auth_url . "'</script>");}
このようにして、認証ダイアログを取得することができましたが、リダイレクトでアプリの構成が間違っているというメッセージが表示されます..アプリに再入力すると、必要なすべての情報にアクセスします..トークンなど..解決策が見つかった場合リダイレクトでアプリの構成が間違っています。問題を解決したと思いますか?