【问题标题】:Upload photo from firebase storage URL to facebook将照片从 Firebase 存储 URL 上传到 Facebook
【发布时间】:2017-06-16 18:37:18
【问题描述】:

我的应用程序应该将拍摄的照片发布到 Facebook。照片存储在我的 Firebase 存储桶中。我正在从这张照片中获取 URL 并将其传递给 facebook。

网址:

https://firebasestorage.googleapis.com/v0/b/gettoworkout-50cd0.appspot.com/o/post%2F-Kbo3hZgL8DUqQv_vYZ2.jpg?alt=media&token=ce764afe-2f2e-4632-b978-f3f2cc65f9cc

这是我调用的 Graph API:

me/photos?token=mytoken&caption=test&url=https://firebasestorage.googleapis.com/v0/b/gettoworkout-50cd0.appspot.com/o/post%2F-Kbo3hZgL8DUqQv_vYZ2.jpg?alt=media&token=ce764afe-2f2e-4632-b978-f3f2cc65f9cc&method=post

Firebase 之外的普通文件 URL 可以正常工作。所以我的建议是,由于 firebase 的 alt=mediatoken=token 属性,facebook 没有获取文件。

如果我将此 URL 粘贴到浏览器,则下载的图像未显示。

如何将该图片上传到 Facebook?

【问题讨论】:

  • “如何绕过这个?” – 当然,通过对您放入 URL 的值应用适当的 URL 编码。
  • 此 URL 来自 firebase getDownloadURL 函数。这是一个有效的 URL 方案。但 Facebook 不接受它。 html img 标签确实接受它并正确显示图像
  • 我并没有说 URL 无效 - 你用它 在做什么(将它作为参数值插入另一个 URL)是错误的,因为您忽略了对参数值应用正确的 URL 编码。
  • 您不对单个字符进行编码,而是对整个值进行编码。一旦你正确地做到这一点,它就可以正常工作:graph.facebook.com/me/…{add_access_token_here}
  • 太棒了。我使用了 JS encodeURI() 函数。如果您将此作为答案发布,我接受它。谢谢!!

标签: facebook-graph-api firebase firebase-storage


【解决方案1】:

您在这里将一个 URL 放入另一个 URL,作为参数值。

因此,您需要正确地URL 编码该值 - 以便它包含的在 URL 中具有定义含义的“特殊字符”不会有歧义。

在 PHP 中,urlencode 是合适的函数;其他语言应该有类似的功能或工具可用。

【讨论】:

  • 嗨 CBroe,我在 ANGULARJS 上得到完全相同的东西。我还使用 encodeURIComponent 对 firebase url 进行编码。但仍然是同样的错误。你有什么想法吗?谢谢
  • @Ozi 不知道,没有任何代码很难分辨。建议您创建一个包含您的特定代码的新问题,并参考此问题。
猜你喜欢
  • 2016-12-24
  • 2019-04-18
  • 2021-06-30
  • 2020-04-01
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
相关资源
最近更新 更多