私の質問は、Facebook アプリに関するものです。私は iFrame アプリを持っており、Facebook PHP SDK を使用してユーザーの情報を取得し、変数を介して表示しています。基本的に、次のように設定された配列があります。
require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$config = array();
$config['appId'] = '562494063776100';
$config['secret'] = '83f3c580f0b4f9ddca7cd13e1386b733';
$config['fileUpload'] = false; // optional
$config['cookie'] = true;
$facebook = new Facebook($config);
$user = $facebook->getUser();
if ($user) {
try {
// Get the user profile data you have permission to view
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
} else {
die;
}
次に、たとえば $user_profile['name'] のように、開いているグラフから変数にアクセスできます。初期ロードでは問題なく動作しますが、$user の値が失われます。このアプリは複数ページの iframe アプリで、3 ページの小さなミニ Web サイトのようなものです。ユーザーはようこそページに移動し、その後、投票ページまたは入力ページに移動できます。最初のページに facebook.php と情報をロードするだけです。これは、他のファイルに connect.php (facebook SDK 情報と MySQL ログイン情報がある) があるときにエラーが発生したためです。facebook.phpが複数回呼び出されているためだと思いますか?
問題は、メイン ページでは $user_profile にアクセスできるが、他のページではアクセスできないことです。これは facebook.php ファイルをクエリしていないためだと思いますが、エラーが発生したため、これらのページに facebook.php ファイルを配置できません。それが私に与えるエラーは、ifステートメントの「死ぬ」セクションに入れたものです。基本的に $user は設定されていません。すべてをサーバー側に保つことができるように、Javascript SDK の使用を避けたかったのです。
私はこの投稿を見ました: Facebookのphp sdkを使用しているときに新しいページにアクセスすると、アクセス許可が引き継がれません 。これは同じ問題に近いですが、まったく同じではありません。助けてくれてありがとう!