我可以使用带有访问令牌的FB共享对话框吗?

时间:2015-02-05 13:09:53

标签: facebook-graph-api access-token facebook-share

情况

我正在开发一个将在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个链接,因为我没有足够的声誉。

https://developers.facebook.com/docs/plugins/share-button

https://developers.facebook.com/docs/javascript/reference/

1 个答案:

答案 0 :(得分:0)

你可以使用它。

https://www.facebook.com/dialog/share?
app_id=xxxxxxxxxx&display=popup
&href=http://google.com
&access_token=<user access token>
  1. 首先检查您的应用访问令牌

    graph.facebook.com/debug_token? 的input_token = {令牌到检查} &安培; =的access_token {APP-令牌或管理员令牌}

  2. 检查您的应用是否有权访问用户公开个人资料

    graph.facebook.com/debug_token? 的input_token = &安培; =的access_token