Android how to post picture to friend's wall with facebook android sdk

前端 未结 2 1821
轮回少年
轮回少年 2021-01-21 11:55

We can post to facebook friend\'s wall a text message, but how can we post an image, a picture to a friend\'s wall using Android Facebook SDK?

When I print out the wall

相关标签:
2条回答
  • 2021-01-21 12:19

    This is the method i use to post a picture to a wall, it posts a pic from a URL but you can change it to put a byte[] for the pic instead. The message appears above the picture and the caption appears to the right of the picture.

    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();
        }
    }
    

    EDIT:

    To post a byte[] rather than a url to a pic then replace the line

    params.putString("picture", picURL); with

    params.putByteArray("picture", getIntent().getExtras().getByteArray("data"));

    where data is your array.

    0 讨论(0)
  • 2021-01-21 12:36

    Using bundle method.

    Bundle params = new Bundle();
            params.putString("message", "Test Post from karthick");
            params.putString("caption", "Karthick kumar");
    
            params.putString("name", "Hai Dude");
            **params.putString("icon", "http://www.facebook.com/images/icons/default_app_icon.gif");**
            params.putString("source", link);
    

    And Then Use... mAsyncRunner.request(wall, params,"POST", new RequestListener());

    0 讨论(0)
提交回复
热议问题