Android如何使用Facebook Android SDK将图片发布到朋友的墙上

Android如何使用Facebook Android SDK将图片发布到朋友的墙上,第1张

概述我们可以在Facebook朋友的墙上张贴短信,但是如何使用AndroidFacebookSDK在朋友的墙上张贴图片,图片呢?当我打印出wall变量时,它确实可以正确显示USER_ID/feed.发布后,RequestListener的onComplete函数会被调用,但是没有任何内容发布到好友墙上.这是我们尝试使用的示例代码:Bu

我们可以在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将图片发布到朋友的墙上所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存