【发布时间】:2015-04-05 08:37:41
【问题描述】:
情况
我正在开发一个将在 iPhone/Android 应用程序中使用的网络工具。 在应用程序内,用户必须使用 FB 应用程序或常规后备登录 facebook。
我们发现应用和 webview 之间的 FB 会话没有被继承。 (如果你在app里登录FB,你还是要在webview里登录FB)
为了解决这个问题,我们让 App 通过 POST 将访问令牌发送到 webview。
在 web 视图中,我使用 Graph API 来获取用户的 FB ID。 该 ID 用于应用程序和 webview-site 用于共享数据的 API。
到目前为止一切顺利。
问题
我们想在 webview 的某些部分使用共享对话框。 但是我们不想再次登录(我们也想为此使用访问令牌)
(我无法对应用程序本身进行任何更改,所以我只能坚持我所拥有的。 访问令牌)
尝试
1) 我试图找出是否可以使用带有访问令牌的常规共享对话框。从文档中似乎无法正常工作。
2) 据我所知,使用访问令牌“登录”到 FB 是行不通的。无法传递访问令牌。
3) 我无法使用 FB.ui 创建共享对话框,因为该功能不需要访问令牌。
4) 使用 URL 重定向方法也不起作用,因为您将获得一个登录对话框。 (因为我不能通过我所知道的访问令牌)
5) 我可以使用 fb.api() 和“publish_actions”权限直接发布到用户提要。使用 fb.api() 我可以将访问令牌传递给函数。但是用户无法控制发送的内容。我担心这可能会激怒用户。
我可以为用户构建一个自定义对话框并将他们在那里写的内容发送出去。如果没有找到其他解决方案,这是最后的手段。
当我尝试在 Graph API Explorer 中测试此解决方案时,我的 FB 帐户指责我的应用发送垃圾邮件。所以我不确定这是一个有效的解决方案。
结论
仅使用访问令牌共享内容似乎非常困难。 解决方案 nr 5 有效,但我宁愿使用常规共享对话框。
我知道根据文档这似乎是不可能的,但 FB 并不是最擅长更新他们的文档。所以我希望有人能给我一个明确的答案。
资源
如果我理解正确,我只能分享 2 个链接,因为我没有足够的声誉。
【问题讨论】:
标签: facebook-graph-api access-token facebook-share