【发布时间】: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=media 和 token=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