公式の SDK ベータ 3.0 を使用して、Android 用のシンプルな Facebook アプリを開発しています。
LoginButtonを使用せずに、ログに記録されたユーザー(user_likes、user_interests、friends_likesなど)の追加の権限を取得します(ここで説明されているようにhttps://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with -facebook/ ) 実際、メソッドで追加のアクセス許可を取得しています
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
List<String> permission=new ArrayList<String>();
permission.add("user_birthday");
permission.add("user_likes");
permission.add("user_questions");
permission.add("user_interests");
permission.add("user_relationships");
permission.add("user_groups");
permission.add("user_religion_politics");
permission.add("friends_birthday");
permission.add("friends_interests");
permission.add("friends_likes");
permission.add("friends_groups");
permission.add("friends_questions");
permission.add("friends_relationships");
// this.openSession();
this.openSessionForRead(app_id, permission);
}
実際には、追加のアクセス許可を持つ許可を求めるログイン ビューが開きます。
これで、user.get* * () を呼び出すときに、基本情報以外のメソッドが表示されないため、追加のアクセス許可を取得する方法がわかりました。
ありがとう!
Null.pointer.exception を使用して取得しています
プライベート GraphObject mUser; ... // 呼び出しから取得したユーザー オブジェクトを割り当てて、ユーザーの情報を取得します
文字列宗教 = mUser.getProperty("宗教").toString();
ここに私のlogcat:
11-08 14:21:47.908: E/AndroidRuntime(1306): FATAL EXCEPTION: main
11-08 14:21:47.908: E/AndroidRuntime(1306): java.lang.NullPointerException
11-08 14:21:47.908: E/AndroidRuntime(1306): at com.********.*****.Main$1.onCompleted(Main.java:123)
11-08 14:21:47.908: E/AndroidRuntime(1306): at com.facebook.Request$1.onCompleted(Request.java:248)
11-08 14:21:47.908: E/AndroidRuntime(1306): at com.facebook.Request$4.run(Request.java:1197)
11-08 14:21:47.908: E/AndroidRuntime(1306): at android.os.Handler.handleCallback(Handler.java:615)
11-08 14:21:47.908: E/AndroidRuntime(1306): at android.os.Handler.dispatchMessage(Handler.java:92)
11-08 14:21:47.908: E/AndroidRuntime(1306): at android.os.Looper.loop(Looper.java:137)
11-08 14:21:47.908: E/AndroidRuntime(1306): at android.app.ActivityThread.main(ActivityThread.java:4745)
11-08 14:21:47.908: E/AndroidRuntime(1306): at java.lang.reflect.Method.invokeNative(Native Method)
11-08 14:21:47.908: E/AndroidRuntime(1306): at java.lang.reflect.Method.invoke(Method.java:511)
11-08 14:21:47.908: E/AndroidRuntime(1306): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
11-08 14:21:47.908: E/AndroidRuntime(1306): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-08 14:21:47.908: E/AndroidRuntime(1306): at dalvik.system.NativeStart.main(Native Method)