タイトルが示すように、フィールドがインストールされた状態でフレンド リストの取得をリクエストしようとすると、次のようになります。
"me/friends?Fields=installed&access_token=..."
logcat に次のエラーが表示されます。
"Invalid OAuth access token"
Facebook API を見ると、インストールされているアプリケーション アクセス トークンを取得する必要があることがわかります。そこで、次を使用して、appId とアプリ シークレットを使用してアプリケーション アクセス トークンを生成しました。
以下はコードです:
try {
JSONObject obj = Util.parseJson(mFacebook.request("me/friends?fields=installed&access_token=..."));
Log.d("json Response", obj.toString());
JSONArray array = obj.optJSONArray("data");
if (array != null) {
for (int i = 0; i < array.length(); i++) {
// String name = array.getJSONObject(i).getString("name");
String id = array.getJSONObject(i).getString("id");
Log.d("Friends: ",id);
}
}
}catch (Exception e){
Log.d("Friends:", e.getMessage());
}
なぜこれを行うのか、私は何年も探してきました。
乾杯