Android OAuth2(非SDK)和#x2B;Facebook-不向用户显示权限

Android OAuth2(非SDK)和#x2B;Facebook-不向用户显示权限,android,facebook,facebook-graph-api,oauth,Android,Facebook,Facebook Graph Api,Oauth,我尝试了以下URL和所有工作: 所有3个都可以工作,前两个返回简单的令牌结果,最后一个返回带有令牌的json结果。我只是使用webview,让用户通过webview登录facebook。一切正常,我的应用程序可以访问请求范围内的所有数据 问题 所需的作用域(权限)不会显示给用户,用户只会看到一个登录窗口,如果他登录到我的应用,我的应用会得到一个有效的令牌。就这样。这样facebook就不会批准我的应用。我认为,正确的登录流应该由facebook处理,如果我调用oauth登录URL,fa

我尝试了以下URL和所有工作:

所有3个都可以工作,前两个返回简单的令牌结果,最后一个返回带有令牌的json结果。我只是使用webview,让用户通过webview登录facebook。一切正常,我的应用程序可以访问请求范围内的所有数据

问题

所需的作用域(权限)不会显示给用户,用户只会看到一个登录窗口,如果他登录到我的应用,我的应用会得到一个有效的令牌。就这样。这样facebook就不会批准我的应用。我认为,正确的登录流应该由facebook处理,如果我调用oauth登录URL,facebook应该正确重定向,并且只有在他们询问用户是否希望允许所需权限后才返回令牌

那么我做错了什么?为什么在facebook返回有效令牌之前,权限不会显示给用户

编辑:

要求:没有SDK,因为我想为许多社交网络和云服务使用通用的OAuth2流,所以我不想为每个服务添加SDK

代码


我只需调用上面的URL并按照重定向进行操作,直到得到带有访问令牌的正确答案,就是这样。

要求作用域用空格分隔,但Facebook的实现要求作用域用逗号分隔。此违规可能是根本原因。

检查此链接并发布您的代码此链接显示SDK的进度,我不想使用SDK,我将在我的应用程序中使用许多源代码,因此我想使用一种与SDK无关的常用方式。。。这就是我想使用普通OAuth2方法的原因。此链接更适合我的需要:。尽管如此,我还是无法让我的应用程序向用户显示权限信息……遗憾的是,这不是原因,我正在使用以下范围:
user\u照片、user\u视频
。如果我没记错的话,如果作用域是空格分隔的,facebook api将返回一个错误……在RFC 6749中,
response\u type
是必需的参数。添加参数可能会更改响应。添加
auth\u type=rerequest
如何?拒绝的权限不会被重新询问,除非你明确添加此参数,Facebook文档说。Facebook没有抱怨额外的参数,但仍然没有显示确认对话框。。。