Facebook の OAuth システムに正常にログインし、アクセス トークンを取得しました。トークンを Cookie に保存しました。次に、ユーザーのデータを照会します。
これが私の問題です。この時点では、まだユーザーの ID を取得していません。ユーザーのIDを持っていないと、グラフAPIで何もできないようです。
ここで何が欠けていますか?
Facebook の OAuth システムに正常にログインし、アクセス トークンを取得しました。トークンを Cookie に保存しました。次に、ユーザーのデータを照会します。
これが私の問題です。この時点では、まだユーザーの ID を取得していません。ユーザーのIDを持っていないと、グラフAPIで何もできないようです。
ここで何が欠けていますか?
解決策を見つけました。
グラフ API はhttps://graph.facebook.com/meをhttps://graph.facebook.com/USER_IDのエイリアスとして使用するため、UserID は必要ありません。
それでもユーザーIDが必要な場合は、GETリクエストを実行します
https://graph.facebook.com/me?fields=id
以下のように JSON データで現在のユーザーの ID を返します。
{
"id": USER_ID
}
ID (最も基本的な許可) を取得するには、ユーザーがアプリにログインする必要があります。
これには、Javascript SDK を使用するか、PHP SDK https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/を使用してログイン ページにリンクできます。getLoginUrl
OpenGraph または Graph API のユーザーに関連するものについては、少なくともユーザーがアプリにログインしている必要があります。つまり、ユーザーに基本的な許可を求める必要があります。それまでは、ユーザーはアプリに対して完全に匿名です。
エイリアスを使用/me
して Graph API の要求を簡素化できますが、基本的なアクセス許可を要求して有効なaccess_token
提供を行う必要があります。それまでは、何/me
も/{{id}}
返しません。