使用Android在朋友/粉丝页面上传照片

时间:2012-02-04 13:09:04

标签: android facebook facebook-graph-api upload photo

我想使用facebook API将我的Android应用程序的照片上传到Facebook粉丝页面。

当我查看hackbook android示例应用程序(link)时。代码看起来像上传照片:

Bundle params = new params.putString("url",
"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg");                            params.putString("caption",
    "FbAPIs Sample App photo upload");

Utility.mAsyncRunner.request("me/photos", params,
    "POST", new PhotoUploadListener(), null);

此代码有效,它会在我自己的脸书页面上发布照片。但我不希望照片发布在我的页面上,而是发布在粉丝页面上。

正如facebook文档中所解释的那样'我'可以通过facebook User_ID进行更改。我尝试更改“[fanpagename] / photo”或“[fanpageID] / photo”中的“我/照片”,但这不起作用。当我使用用户名时出现错误,当我使用ID时,它会在我自己的页面上发布照片。在graphAPI照片文档(link)中,没有关于如何在粉丝页面上传照片的示例或解释。

也是

params.putString("to", [fbid]);

不起作用。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我一直忙于这项研究整整三天,但没有找到问题的答案。但我想我有一个解释。

如果用户使用官方Android FB应用程序将照片发布到朋友/ fan_page,则会使用带有图片的“提要”(url-link)。用户无法在自己的墙上看到他实际上在朋友/粉丝页面上分享或发布了图片。 (例如:“Bob - 在CocaCola上发布了一张照片”)

这可能是禁用此功能的原因,因为开发人员可以使用此功能将照片发送给所有类型的朋友/粉丝,而无需用户了解。

我提出这个假设是因为我找到了一种解决方法。首先将照片上传到用户自己的相册。获取该照片的网址,然后在朋友/ fan_page上发布带有图片(url-lnk)的“Feed”。 Facebook然后给出了这个错误:“不允许在流中使用FBCDN图像”换句话说,你不能使用FB网站域上的照片来链接。所以我认为facebook developpement departmet中存在相当多的错误/懒惰:P很遗憾,因为它是移动应用程序的一个很好的社交网络功能。

答案 1 :(得分:1)

您走在正确的轨道上,但要将照片发布到网页,您需要publish_streammanage_pages权限,以及页面访问令牌以证明您拥有这些权限。你可以在这里阅读更多相关信息:

  1. http://developers.facebook.com/docs/reference/api/page/#photos
  2. http://developers.facebook.com/docs/reference/api/page/#page_access_tokens
  3. 一些示例代码(使用PHP SDK,但逻辑在任何语言中都应该相同)在这里:https://stackoverflow.com/a/7222078/164439

    更新

    如果您要发布到网页的墙/ Feed (不是网页管理员),您可以在没有管理页面权限和访问令牌的情况下执行此操作。

    但它与将Photo对象发布到Page的 Photos 集合不同,这是我认为你问的。您实际上想要使用图片附件对页面进行常规发布。

    以下是一些资源:

    1. Facebook Post API:http://developers.facebook.com/docs/reference/api/post/
    2. http://facebook.stackoverflow.com/questions/691425/how-do-you-post-to-the-wall-on-a-facebook-page-not-profile
    3. http://facebook.stackoverflow.com/questions/5756474/post-to-facebook-page-wall
    4. Using Facebook Graph to simply post a wall message with just javascript
    5. 祝你好运!