現在、ユーザーとして認証していません。アプリケーションとしてのみ認証しています。その結果、Facebook API は /me ページを表示したり、getUser() 呼び出しに応答したりできません。これは、API に代わってアクセスしようとしているユーザーがわからないためです (つまり、「/me は誰ですか?」 ?」)。また、公開されている情報にのみアクセスできます。
Oauth2 を介してアプリケーションを認証するユーザーを取得し、返された access_token を保存してから、それを今後の呼び出しに含める必要があります (例: WIRQjCey1.3600.1309525200.0-509450630|eD6SAR">https://graph.facebook. com/me?access_token=2227470867|2.AQB-_ WIRQjCey1 .3600.1309525200.0-509450630|eD6SAR...)。
PHP SDKを使用してこれを行うには、次のことができます
$loginUrl = $fb->getLoginUrl();
echo "<a href='$loginUrl'>Login with Facebook</a>";
そのリンクをクリックしてユーザーを認証させると、access_token が $_SESSION に保存され、更新を押すと "new Facebook( $fb_params );" が更新されます。コンストラクターは $_SESSION からアクセス トークンを選択し、それを今後のすべての呼び出しに使用するため、$fb->getUser(); のように呼び出します。正しく戻ります。
SDK のサンプル フォルダー ( https://github.com/facebook/php-sdk ) に機能する例があり
ます。これを使用して、アプリケーション (パブリック データ アクセスのみ) として認証され、次にユーザーとして認証されている間に呼び出しを試行できます。