【发布时间】:2016-03-26 04:28:19
【问题描述】:
我尝试了以下网址并且一切正常:
- https://www.facebook.com/dialog/oauth?client_id=%s&redirect_uri=%s&display=popup&scope=%s
- https://www.facebook.com/dialog/oauth?client_id=%s&redirect_uri=%s&scope=%s
- https://www.facebook.com/v2.5/dialog/oauth?client_id=%s&redirect_uri=%s&scope=%s
所有 3 个工作,前两个返回简单的令牌结果,最后一个返回带有令牌的 json 结果。我只是使用 webview 并让用户通过 webview 登录到 facebook。一切正常,我的应用可以访问请求范围内的所有数据。
问题
所需的范围(权限)不会显示给用户,用户只会看到一个登录窗口,如果他登录我的应用程序,我的应用程序将获得一个有效的令牌。而已。这样 facebook 不会批准我的应用程序。我认为,正确的登录流程应该由 facebook 处理,如果我调用 oauth 登录 url,facebook 应该正确重定向,并且只有在他们询问用户是否要允许所需的权限后才返回令牌。
那我做错了什么?为什么在 facebook 返回有效令牌之前没有向用户显示权限?
编辑:
要求:没有 SDK,因为我想为许多社交网络和云服务使用通用的 OAuth2 流,所以我不想为每个服务添加 sdk...
代码
我只是调用上面的 url 并遵循重定向,直到我通过访问令牌得到正确的答案,就是这样。
【问题讨论】:
-
link 检查此链接并发布您的代码
-
链接显示了SDK的进度,我不想使用sdk,我会在我的应用程序中使用很多来源,所以我想使用一种通用的sdk独立方式......这就是为什么我想使用普通的 OAuth2 方法。此链接确实更符合我的需求:developers.facebook.com/docs/facebook-login/…。尽管如此,我还是无法让我的应用向用户显示权限信息...
-
你解决了这个问题吗?到今天为止,我的网络应用程序也是如此。
标签: android facebook facebook-graph-api oauth