如何使用android sdk 3.0 beta获得Facebook附加权限?

Sky*_*zen 4 beta permissions android facebook facebook-android-sdk

我正在使用官方的sdk beta 3.0为Android开发一个简单的Facebook应用程序.

我会为用户登录(user_likes,user_interests,friends_likes,等...),而不使用LoginButton获得额外的权限(如这里解释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);

    } 
Run Code Online (Sandbox Code Playgroud)

实际上,它会打开登录视图,要求获得其他权限.

现在,我想知道如何获得更多的权限,因为,当我打电话user.get**()它不显示除了那些基础信息的其他方法.

谢谢!


我正在使用Null.pointer.exception

私有GraphObject mUser; ... //分配您从通话中获得的用户对象以获取用户的信息

String religion = mUser.getProperty("religion").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)
Run Code Online (Sandbox Code Playgroud)

小智 5

创建会话后,您可以获得其他权限.没有关闭会话

Session.NewPermissionsRequest newPermissionsRequest = new Session
                    .NewPermissionsRequest(this, Arrays.asList("user_groups"));

            session.requestNewReadPermissions(newPermissionsRequest);
Run Code Online (Sandbox Code Playgroud)