我想使用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]);
不起作用。
有什么建议吗?
答案 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_stream
和manage_pages
权限,以及页面访问令牌以证明您拥有这些权限。你可以在这里阅读更多相关信息:
一些示例代码(使用PHP SDK,但逻辑在任何语言中都应该相同)在这里:https://stackoverflow.com/a/7222078/164439
更新
如果您要发布到网页的墙/ Feed (不是网页管理员),您可以在没有管理页面权限和访问令牌的情况下执行此操作。
但它与将Photo对象发布到Page的 Photos 集合不同,这是我认为你问的。您实际上想要使用图片附件对页面进行常规发布。
以下是一些资源: