Android 图片故事图片上传
我正在开发一个Android应用程序,它可以让你发布一个故事,我希望用户上传一张照片 该应用程序具有“发布动作”权限,并具有“用户生成”、“fb:显式共享” 我的代码如下Android 图片故事图片上传,android,facebook,facebook-opengraph,Android,Facebook,Facebook Opengraph,我正在开发一个Android应用程序,它可以让你发布一个故事,我希望用户上传一张照片 该应用程序具有“发布动作”权限,并具有“用户生成”、“fb:显式共享” 我的代码如下 ByteArrayOutputStream stream = new ByteArrayOutputStream(); if(bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream)) { Log.i(TAG,"Bitmap compressed i
ByteArrayOutputStream stream = new ByteArrayOutputStream();
if(bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream)) {
Log.i(TAG,"Bitmap compressed into stream successfully.");
}
postParams.putByteArray("image", stream.toByteArray());
postParams.putString("user_generated", "true");
postParams.putString(OBJECT,URL);
postParams.putString("fb:explicitly_shared", "true");
Log.i(TAG,"Executing facebook graph story request...");
Request request = new Request(session, "me/<appnamespace>:<action>", postParams, HttpMethod.POST, callback);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
我认为问题在于,关键不是“形象”,也不是你怎么做的
做这件事的正确方法是什么?根据我在你的另一个问题中的评论: 无法将图像上载到me/:端点。您需要先将其发布给我/您的资源。请参阅使用对象API的本操作指南(特别是图像上载的步骤3) 要将图像添加到“打开图形”操作,请执行以下操作:
JSONObject obj = new JSONObject();
obj.put("url", <your staging uri here>);
obj.put("user_generated", true);
myAction.setImage(Arrays.asList(obj));
JSONObject obj=新的JSONObject();
对象放置(“url”);
obj.put(“用户生成”,true);
setImage(Arrays.asList(obj));
通过添加“/me/stager\u resources”请求调用,我成功地解决了问题。现在我面临的问题是,我必须把“user_generated”放进去,但它似乎应该以某种方式链接到“image”参数。我该怎么做?更新了答案,包括代码示例。请注意,可能有一些小语法错误,因为我没有编译它。如果我使用params.putString(“image”,obj.toString())
而不是将其设置为操作,它会工作吗?非常感谢,它工作了。我已经做了5天了。
JSONObject obj = new JSONObject();
obj.put("url", <your staging uri here>);
obj.put("user_generated", true);
myAction.setImage(Arrays.asList(obj));