java - Facebook 没有获得除公开个人资料之外的任何权限

标签 java android eclipse facebook

我正在尝试使用 Facebook 登录,登录后我正在尝试获取照片权限。然而我刚刚获得公开资料。为什么它不检索用户照片权限?

private void registerFacebook()
        {       
            isFetchingFB = false;
            mDialog.show();
            Session.openActiveSession(this, true, new Session.StatusCallback()
            {
                @Override
                public void call(final Session session, SessionState state, Exception exception)
                {
                    if (session.isOpened())
                    {
                        getUserPhotosPermission(session);
                    }
                    else
                    {
                        mDialog.dismiss();
                        if (!session.isOpened())
                            Log.d("FACEBOOK", "!session.isOpened()");
                        else
                            Log.d("FACEBOOK", "isFetching");

                    }
                }
            });     
        }

        private void getUserPhotosPermission(Session session)
        {       
            List<String> permissions = new ArrayList<String>();
            permissions.add("user_photos");
            final Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, permissions)
            .setRequestCode(ACTIVITY_RESULT_FB);
            session.requestNewReadPermissions(newPermissionsRequest);       
        }

        private void getUserMeRequest()
        {
            final Session session = Session.getActiveSession();
            Request getMe = Request.newMeRequest(session, new GraphUserCallback()
            {
                @Override
                public void onCompleted(GraphUser user, Response response)
                {
                    if (user != null && !isFetchingFB)
                    {
                        isFetchingFB = true;
                        org.json.JSONObject graphResponse = response.getGraphObject().getInnerJSONObject();
                        String name = graphResponse.optString("name");
                        String id = graphResponse.optString("id");
                        callFacebookApi(name, id, session.getAccessToken());
                    }
                    else
                        mDialog.dismiss();
                }
            });
            getMe.executeAsync();
        }

最佳答案

根据新的 facebook sdk 和政策,您需要将您的 apk 和详细说明提交给 facebook 提交和审核部门以授予扩展权限。

关于java - Facebook 没有获得除公开个人资料之外的任何权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30067146/

相关文章:

java - 方法超时

java - Web 应用程序的硬件支持

java - 如果两次评估语句是否短路?

eclipse - P2 headless 更新不起作用

Java - 为什么即使调用了有效资源,也会执行自定义 404 错误页面?

java - JSP 和发送对象

java - 如何检查同时满足两个条件

android - 首次启动应用程序时 WebView 无法登录

android - 如何在不每隔几秒同步一次的情况下启用同步

android - ImageView 被 GridView 回收