情况
我正在开发一个将在iPhone / Android应用中使用的网络工具。 在应用程序内部,用户必须使用FB应用程序或常规后备登录到Facebook。
我们发现应用程序和webview之间的FB会话没有结转。 (如果您在应用程序中登录了FB,则仍需要在Webview中登录FB)
为了解决这个问题,我们让应用程序通过POST将访问令牌发送到webview。
在Web视图中,我使用Graph API来获取用户FB ID。 该ID用于App和webview-site用于共享数据的API。
到目前为止一切顺利。
问题
我们希望在webview的某些部分使用共享对话框。 但我们不想再次登录(我们也希望使用访问令牌)
(我无法对应用程序本身进行任何更改,因此我坚持使用我拥有的内容。 访问令牌)
尝试
1)我试图找出是否可以使用带有访问令牌的常规共享对话框。它似乎不适用于文档。
2)根据我的判断,使用访问令牌“登录”FB无效。无法通过访问令牌。
3)我无法使用FB.ui创建共享对话框,因为该功能不使用访问令牌。
4)使用URL重定向方法也不起作用,因为您将获得登录对话框。 (因为我无法从我所知道的地方传递访问令牌)
5)我可以使用fb.api()和“publish_actions”权限直接发布到用户Feed。使用fb.api(),我可以将访问令牌传递给函数。但是用户无法控制发送的内容。我担心可能会激怒用户。
我可以为用户构建一个自定义对话框并发送他们在那里写的内容。如果找不到其他解决方案,这是最后的手段。
当我尝试在Graph API Explorer中测试此解决方案时,我的FB帐户指责我的应用程序发送垃圾邮件..所以我不确定这是一个有效的解决方案。
结论
仅使用访问令牌共享内容似乎非常困难。 解决方案nr 5工作,但我宁愿使用常规共享对话框。
我知道根据文档似乎不可能,但FB不是最好的更新文档。所以我希望有人能给我一个明确的答案。
资源
如果我理解正确,我只能分享2个链接,因为我没有足够的声誉。
答案 0 :(得分:0)
你可以使用它。
https://www.facebook.com/dialog/share?
app_id=xxxxxxxxxx&display=popup
&href=http://google.com
&access_token=<user access token>
首先检查您的应用访问令牌
graph.facebook.com/debug_token? 的input_token = {令牌到检查} &安培; =的access_token {APP-令牌或管理员令牌}
检查您的应用是否有权访问用户公开个人资料
graph.facebook.com/debug_token? 的input_token = &安培; =的access_token