facebook-graph-api - 我可以使用带有访问 token 的 FB 共享对话框吗?

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

情况

我正在开发一个将在 iPhone/Android 应用程序中使用的网络工具。 在应用内,用户必须使用 FB 应用或常规后备登录 facebook。

我们发现应用程序和 webview 之间的 FB session 没有被延续。 (如果你在应用程序中登录了FB,你仍然需要在webview中登录FB)

为了解决这个问题,我们让 App 通过 POST 将访问 token 发送到 webview。

在 WebView 中,我使用图形 API 来获取用户的 FB ID。 该 ID 在 API 中使用,应用程序和 webview 站点使用该 API 共享数据。

到目前为止一切顺利。

问题

我们想在 webview 的某些部分使用共享对话框。 但是我们不想再次登录(我们也想为此使用访问 token )

(我不能对应用程序本身做任何更改,所以我只能使用现有的东西。 访问 token )

尝试

1) 我试图找出是否可以使用带有访问 token 的常规共享对话框。从文档来看它似乎不起作用。

2) 据我所知,使用访问 token “登录”到 FB 是行不通的。无法传递访问 token 。

3) 我无法使用 FB.ui 创建共享对话框,因为该函数不使用访问 token 。

4) 使用 URL 重定向方法也不起作用,因为您会看到一个登录对话框。 (因为据我所知我无法传递访问 token )

5) 我可以使用 fb.api() 和“publish_actions”权限直接发布到用户提要。使用 fb.api() 我可以将访问 token 传递给函数。但用户无法控制发送的内容。我担心这会激怒用户。

我可以为用户构建一个自定义对话框并发送他们在那里写的内容。如果找不到其他解决方案,这是最后的手段。

当我尝试在 Graph API Explorer 中测试此解决方案时,我的 FB 帐户指责我的应用程序发送垃圾邮件。所以我不确定这是一个有效的解决方案。

结论

只用一个Access Token似乎很难分享内容。 解决方案 5 可行,但我宁愿使用常规共享对话框。

我知道根据文档这似乎是不可能的,但 FB 并不是最擅长更新其文档的。所以我希望有人能给我一个明确的答案。

资源

如果我没有理解错的话,我只能分享 2 个链接,因为我没有足够的声誉。

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

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

最佳答案

你可以使用它。

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

    graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app-token-or-admin-token}

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

    graph.facebook.com/debug_token? 输入 token = &access_token=

关于facebook-graph-api - 我可以使用带有访问 token 的 FB 共享对话框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28344834/

相关文章:

ios - 如何在 Swift 中将故事发布到 Facebook?

node.js - 如何使用OAuth 1.0调用API?

ios - 如何在 Facebook 上从表格 View 共享内容

ios - 通过 UIActivityViewController 的 Facebook 共享不会在共享对话框中显示所有事件项目

android - 如何在给定的预定时间自动在 Facebook 页面上发布更新?使用安卓

facebook - 通过 Facebook 图形 API 发布带有大图片的链接

javascript - 如何在使用 Javascript SDK 初始登录后使用 Facebook API 调用

facebook-graph-api - 如何获得短期访问 token ?

c# - 多个并发请求之间的 token 共享 C#

azure - 如何确定给定的 Azure DevOps PAT token 是否对所有可访问的组织都有效?