6

我在 facebook sdk 中使用内置的 LoginButton 小部件,我没有对其进行任何更改,我只是将它包含在我的 xml 布局文件中,并且不调用setSessionStatusCallback其他任何东西。

但是,当我单击登录按钮时,facebook 说我要求提供基本信息和好友列表。我不希望获得查看用户朋友的权限,并且在查看了 LoginButton 的来源之后,它似乎也不应该询问,它的permissions字符串列表是空的。

这里发生了什么?

更新:按要求添加我的代码。

    final LoginButton facebook = (LoginButton) getView().findViewById(R.id.facebook_login);
    if(facebook != null){
            if(Utility.getMetadataApplicationId(getActivity()) != null){
                facebook.setVisibility(View.VISIBLE);
                facebook.setSessionStatusCallback(new StatusCallback() {

                    @Override
                    public void call(Session session, SessionState state, Exception exception) {
                        if(session.isOpened()){
                            showProgress(true);
                            Request.executeMeRequestAsync(session, new GraphUserCallback() {

                                @Override
                                public void onCompleted(GraphUser user, Response response) {
                                    Log.d("test", user.getId());
                                }
                            });
                        }
                    }
                });
            }
    }
4

1 回答 1

3

询问基本信息+好友列表是应用可以请求的最基本权限。如果您不提供任何额外的读取权限,那么这两个权限是唯一会显示的权限,我不相信您可以删除它们。

我相信我们这样做是因为将您的应用程序与 Facebook 集成时,其内在原因是使您的应用程序具有社交性并为您的应用程序提供分发渠道。因此默认情况下会添加好友列表权限,因为您应该使用该权限来鼓励用户与他们的朋友共享您的应用程序,如果他们希望通过应用程序请求对话框等这样做的话。

于 2012-12-29T00:28:28.823 回答