私は$ user = $ facebook-> getUser()を理解できません。関数(これは、ユーザーがログインしていてもNULLを返します...)私はこのコードで試しています。問題は、「アクティブなアクセストークンを使用して現在のユーザーに関する情報を照会する必要があります」ということです。 OAuthExceptionと私はログインリダイレクトコードをキャッチセクションに置く場合、それは無限のリダイレクトループになる...誰かが私を助けることができますか?Facebook PHP SDK:api( '/ me')strange behavior
ありがとうございました! :)
try {
$user_profile = $facebook->api('/me');
$scope = 'publish_stream,user_photos';
$scope_params = explode(',',$scope);
$permissions = $facebook->api("/me/permissions");
if(array_key_exists('publish_stream', $permissions['data'][0]) && array_key_exists('user_photos', $permissions['data'][0])) {
// facebook logic
}else {
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>Redirect</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<script language=javascript>window.open('<?php echo $loginUrl ?>', '_parent', '')</script>
</head>
<body>
Redirecting...
</body>
</html>
<?php
exit;
}
}catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
}
私は、リダイレクト(ユーザーの認証後にリダイレクトを含む)するたびに、ユーザーを認証しようとするとFacebookに問題が発生したことを覚えています。 'header( 'P3P:CP =" CAO PSA OUR "');' – Nightwolf
どこにこのコードを正確に追加する必要がありますか? (私はこのヘッダー修正がIEリダイレクトループのためのものだと私は今FireFoxにいる) – VORiAND
これはヘッダーなので、出力が始まる前にすべてのページにある必要があります。これにより、認証や変数の損失を防ぐことができます。 URL: $ params = array( スコープ=> 'publish_stream、user_photos'、 redirect_uri => 'http:// – Nightwolf