【问题标题】:Can we post photos on friends wall using Graph API我们可以使用 Graph API 在朋友墙上发布照片吗
【发布时间】:2012-09-02 15:24:27
【问题描述】:

朋友墙可以upload照片吗?文档从未提到过!但它正在发生。 我可以发帖到/friend_id/photos 连接。

我实际上是使用 localhost 隧道在本地服务器上运行我的应用程序。所以,在八月,我做了一个应用程序,人们可以在他们的朋友墙上张贴照片(仅应他们的要求)。所以,由于我对 FB API 很陌生,我没有注意到它是不允许的。

我刚刚离开应用程序几周,然后回来修复问题我注意到我无法将照片发布到 /friend_id/photos 连接(它只是不工作。我没有得到任何错误)。它甚至不适用于其他可能的连接,例如/friend_id/feed 我的应用是否仅限于某些图形操作?

所以,我刚刚创建了一个测试应用并执行了相同的连接/friend_id/photos 并且**它工作正常。不知道为什么!**

惊喜还没有结束:

  1. 我使用我的测试应用成功在朋友墙上发布了一张照片
  2. 当我打开照片时,我可以从“Surya 的照片”中看到它 - 我的照片
  3. 我的相册中没有看到那张照片。我只是不知道它实际保存在哪里。

【问题讨论】:

  • 是不是也有错误响应?您是否尝试打印响应?
  • 我没有收到任何错误作为响应!这就是重点
  • @Tosh 所以.. 可能的原因是什么
  • 不可能,你的 if 语句只能有两种方式,响应或错误。检查您的开发者控制台。
  • 不要使用alert,而是使用console.log();添加 console.log(response) 以便您可以看到响应的值。

标签: javascript django facebook facebook-graph-api facebook-javascript-sdk


【解决方案1】:

更新 2:这确实是可能的(它是一个错误吗?)同样的常规方式。

但似乎将photo 发布到其他用户的/photos 连接与发布到/me/photos 的行为非常不同。以下是关于向/FRIEND_ID/photos 发帖的一些事实:

  1. 以这种方式发布的每个 photo 都会创建名为 Posting User's photos 的单独相册(也就是说,上传的照片永远不会被分组,也无法在一个地方查看所有照片)。
  2. photo 不会在用户或朋友的相册中显示,而只能通过提要/时间线查看/访问。
  3. 当然,这只有在您能够在该朋友的供稿上发帖时才有效

所以它的行为与发布到朋友feed 的任何其他内容一样。

我想说,如果您不依赖相册功能和这些照片的持久性,而只想在朋友的墙上“分享”照片,那就去吧(除非它被证明是错误的)。


TL;DR; 不,您不能将photo 发布到朋友的/photos 连接。 好吧,您可以将photo 发布到朋友的/photos 连接但是如果发布到您的/photos,它的行为方式将有所不同。

根据photosuser 连接的文档:

创建
您可以使用 publish_stream 权限和以下参数向 PROFILE_ID/photos 发出 HTTP POST 请求,代表用户将照片发布到用户的 Wall。

同样根据photo对象的文档:

https://graph.facebook.com/USER_ID/photos - 照片将发布到为您的应用创建的相册中。如果您的应用尚不存在,我们会自动为您的应用创建相册。所有以这种方式上传的照片都将被添加到同一个相册中。

一般来说,您尝试将照片上传到其他用户的相册,但您只能将照片发布到您的个人资料(如果使用access_token 作为页面,则只能发布到页面)。

但是,您可以向其他用户的feed 发帖(例如post 可能有也可能没有picture 作为附件,这与photo 不同)。

更新: 照片只能上传到/USER_ID/photos,而不是USER_IDmeaccess_token 的所有者)相同。

【讨论】:

  • 我有 publish_stream 权限。那么,为什么我不能发布它们.. 我看过几个教程。如果这不是正确的方法,请您解释清楚
  • @Surya,您使用不属于照片所有者的access_token。我添加了更多细节,希望现在更清楚。
  • 我真的不明白。如上所述,FB Docs 说我们可以将照片发布到朋友的个人资料中。这就是我在这里所做的!
  • @Surya,没有任何文档提到朋友。您提供的链接中没有任何示例包含将照片发布到朋友的供稿。
  • 嘿,这令人惊讶。我刚刚制作了一个测试应用程序并与/friend_id/photos 建立了连接,并且它正在工作!!!
【解决方案2】:

我的应用是否仅限于某些图形操作?

在某些地方,FB 在文档或开发者博客文章中说,“如果您滥用功能 xy,您的应用程序使用它的能力可能会被撤销”(不是字面意思;我在这里转述,但类似的东西)。

因此,FB 完全有可能专门为您的 应用取消了将照片发布到朋友墙上的功能,因为太多以这种方式在他们的墙上接收照片的用户已将其标记为“垃圾邮件”。

(“撤销权限”在这里可能不是完全正确的措辞;我认为 Graph API 更有可能首先接受您的应用程序发出的请求,然后在后面默默地过滤掉它;那将还要解释为什么你没有得到任何错误。)

【讨论】:

  • 我刚刚在 Facebook 上发布了一个错误。希望他们做出回应。他们是否可以为我恢复这些权限。在这个问题上联系 Facebook 的最佳方式是什么。
  • 您为什么要为此发布错误报告?您的应用被用户视为“垃圾邮件”的行为不是平台上的“错误”,而是您自己的错。
  • 你没有读过这个问题吗? 我可以连接 /friend_id/photos,这根本不可能。此外,我只是在我的朋友身上测试我的应用程序(我从未部署到整个公众)。没有人提到它是垃圾邮件。我亲自与他们核实过。
  • “我可以连接 /friend_id/photos,这根本不可能。” – 到底是谁说的?我没有在这里阅读确切的证据,文档实际上在任何地方都这么说;只是人们“假设”这是不可能的。要将照片发布到用户的墙上(不是特定相册),您只需要 publish_stream 权限。如果允许用户在朋友墙上发布其他类型的帖子,那么我不明白为什么不能发布照片。
  • @Surya,你能给我们提供一个错误发布的链接,以便我们也可以跟进问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多