我正在尝试将图片从网址上传到脸书网。
理想情况下我想创建一个专辑(基于一些文字输入) 然后使用图像的URL(将在ArrayList中)将一些图像上传到该相册。我不想先下载照片,然后重新上传 - 我只想用图片的网址将它们添加到相册中。
我看到很多关于如何做到这一点的令人困惑的信息。任何人都可以提供一些清晰度吗?
是否可以使用newUploadPhotoRequest执行此操作?
这是我尝试用作测试的代码,它发布好了,但它只是作为链接发布到时间轴。理想情况下,我想上传到新专辑 - 我已经有了专辑ID。
Request.Callback callback= new Request.Callback()
{
public void onCompleted(com.facebook.Response response)
{
FacebookRequestError error = response.getError();
if (error != null)
Toast.makeText(getApplicationContext(), error.getErrorMessage(), Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(), "Posted successfully.", Toast.LENGTH_LONG).show();
}
};
Session session = Session.getActiveSession();
Bundle postParams = new Bundle();
postParams.putString("name", "Title");
postParams.putString("link", "http://www.stackoverflow.com");
postParams.putString("description", "description");
postParams.putString("caption", "PictureTestApp");
postParams.putString("picture", "https://www.myURLinhere/IMG_20110923_194535.jpg");
Request request = new Request(session, "me/feed", postParams, HttpMethod.POST, callback);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
答案 0 :(得分:0)
这就是答案:
Bundle params = new Bundle();
params.putString("url", "{image-url}");
/* make the API call */
new Request(
session,
"/{album-id}/photos",
params,
HttpMethod.POST,
new Request.Callback() {
public void onCompleted(Response response) {
/* handle the result */
}
}
).executeAsync();