我们可以在Facebook朋友的墙上张贴短信,但是如何使用Android Facebook SDK在朋友的墙上张贴图片,图片呢?
当我打印出wall变量时,它确实可以正确显示USER_ID / Feed.发布后,RequestListener的onComplete函数会被调用,但是没有任何内容发布到好友墙上.
这是我们尝试使用的示例代码:
Bundle params = new Bundle();params.putString("method", "photos.upload");params.putString("caption", photoCaption.getText().toString());params.putByteArray("picture", data);AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);String wall = null;wall = fArray.getJsONObject(pos).getString("ID").toString() + "/Feed";mAsyncRunner.request(wall, params,"POST", new RequestListener(){ public voID onComplete(String response, Object state) { Log.d("text","facebook post complete"); } public voID onIOException(IOException e, Object state) { Log.d("text","facebook post onIOException"); } public voID onfileNotFoundException(fileNotFoundException e, Object state) { Log.d("text","facebook post onfileNotFoundException"); } public voID onMalformedURLException(MalformedURLException e, Object state) { Log.d("text","facebook post onMalformedURLException"); } public voID onFacebookError(FacebookError e, Object state) { Log.d("text","facebook post error"); }}, null);
这是我获取朋友列表的方式:
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);mAsyncRunner.request("me/frIEnds", new RequestListener(){ public voID onComplete(String response,Object state) { try { jObject = new JsONObject(response); fArray = jObject.getJsONArray("data");
解决方法:
这是我用来将图片张贴到墙上的方法,它从URL发布图片,但是您可以更改它以为图片放一个byte [].该消息出现在图片上方,标题显示在图片右侧.
protected voID postPicToWall(String userID, String msg, String caption, String picURL){ try { if (isSession()) { String response = mFacebook.request((userID == null) ? "me" : userID); Bundle params = new Bundle(); params.putString("message", msg); params.putString("caption", caption); params.putString("picture", picURL); response = mFacebook.request(((userID == null) ? "me" : userID) + "/Feed", params, "POST"); Log.d("Tests",response); if (response == null || response.equals("") || response.equals("false")) { Log.v("Error", "Blank response"); } } else { // no logged in, so relogin Log.d(TAG, "sessionNOTValID, relogin"); mFacebook.authorize(this, PERMS, new LoginDialogListener()); } }catch(Exception e){ e.printstacktrace(); }}
编辑:
要发布一个byte []而不是一个URL到图片,然后替换该行
params.putString(“ picture”,picURL);同
params.putByteArray(“ picture”,getIntent().getExtras().getByteArray(“ data”)));
数据是您的数组.
总结以上是内存溢出为你收集整理的Android如何使用Facebook Android SDK将图片发布到朋友的墙上全部内容,希望文章能够帮你解决Android如何使用Facebook Android SDK将图片发布到朋友的墙上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)