【问题标题】:How to create facebook album and upload photos to the facebook album using android java?如何使用 android java 创建 facebook 相册并将照片上传到 facebook 相册?
【发布时间】:2012-08-12 18:40:45
【问题描述】:

谁能给我一个例子,如何使用来自 Android 设备的 java 创建相册并将照片上传到 facebook 相册? 我找到了一种如何将照片一张一张上传到 facebook 墙的方法,但没有找到创建相册和上传照片的方法。

非常感谢,

【问题讨论】:

  • 如果一个答案解决了您的问题,您应该接受它。这就是 SO 的工作原理。

标签: java android facebook photos


【解决方案1】:

我们的开发者博客有一个nice tutorial,介绍如何使用 Graph API 上传照片。尽管代码是用 PHP 编写的,但您可以轻松地将示例代码翻译成 Java。教程的相关部分可能是场景2:创建新相册并添加照片。

要使用我们的 Graph API 创建新专辑,您首先需要拥有一个具有 publish_stream 权限的访问令牌。然后创建新专辑:

Bundle params = new Bundle();
params.putString("name", "My Test Album Name Here");
params.putString("message", "My Test Album Description Here");
mAsyncRunner.request("me/albums", params, "POST", new CreateAlbumListener());

然后在您的CreateAlbumListener 类中,在onComplete() 方法中获取新创建的专辑ID。获得刚刚创建的相册的相册 ID 后,将照片上传到该相册:

1) 上传本地照片(例如来自图库),假设我们有一个变量data,即我们希望上传的照片的字节数组

Bundle params = new Bundle();
params.putByteArray("photo", data);
params.putString("caption", "Test description here");
mAsyncRunner.request("ALBUM_ID/photos", params, "POST");

2) 从远程上传(例如照片的 URL)

Bundle params = new Bundle();
params.putString("url", "http://www.lolbrary.com/content/454/facebook-cat-9454.jpg");
params.putString("caption", "Cats are awesome");
mAsyncRunner.request("ALBUM_ID/photos", params, "POST");

ALBUM_ID 是存储您刚刚创建的专辑的专辑 ID 的变量。您可以查看 HackBook,这是我们创建的示例应用程序,用于向您展示您可以使用 android SDK 执行的所有不同调用。

如果有帮助,请告诉我。

【讨论】:

  • 非常感谢您的帮助,
  • 嗨,杰西。你帮了我很多,我很感激。
  • 有点问题。您能告诉我如何从响应中获取创建的 album_id 吗?
  • 在您的CreateAlbumListener 中,您必须实现onComplete 方法。 onComplete方法有一个String变量叫response,解析onComplete方法中的response提取专辑id。让我知道这是否有帮助!
  • 嗨...我正在尝试编写这个函数:mAsyncRunner.request("ALBUM_ID/photos", params, "POST"); ,但它说:“AsyncFacebookRunner 类型中的方法 request(String, Bundle, AsyncFacebookRunner.RequestListener) 不适用于参数 (String, Bundle, String)”....你知道我是否应该放置任何新的侦听器类作为最后一个参数,就像我在创建专辑时所做的那样?
最近更新 更多