Télécharger une photo sur Facebook avec Facebook Android SDK en Android

Je suis nouveau sur Android. Je recherche la photo de chargement à Facebook par autorisation, en devenant access_token. Comment faire cela? Veuillez me donner un exemple de code en Java.

  • Android a des amis Facebook qui ont téléchargé une application
  • Essayer de créer une requête SOAP correcte
  • Pouvez-vous créer des applications React Native (application Android) sur Ubuntu?
  • Photo de publication d'Android sur le mur de Facebook
  • Partage d'Android sur Twitter
  • SDK pour Android: comment Facebook vérifie-t-il la clé Hash?
  • 5 Solutions collect form web for “Télécharger une photo sur Facebook avec Facebook Android SDK en Android”

    Voici simplement la manière simple de télécharger une photo:

    Android Android publier une photo

    Code:

    byte[] data = null; Bitmap bi = BitmapFactory.decodeFile(photoToPost); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bi.compress(Bitmap.CompressFormat.JPEG, 100, baos); data = baos.toByteArray(); Bundle params = new Bundle(); params.putString("method", "photos.upload"); params.putByteArray("picture", data); AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook); mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null); 
     facebook.authorize(FbdemoActivity.this, new String[]{ "user_photos,publish_checkins,publish_actions,publish_stream"},new DialogListener() { @Override public void onComplete(Bundle values) { } @Override public void onFacebookError(FacebookError error) { } @Override public void onError(DialogError e) { } @Override public void onCancel() { } }); public void postImageonWall() { byte[] data = null; Bitmap bi = BitmapFactory.decodeFile("/sdcard/viewitems.png"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bi.compress(Bitmap.CompressFormat.JPEG, 100, baos); data = baos.toByteArray(); Bundle params = new Bundle(); params.putString(Facebook.TOKEN, facebook.getAccessToken()); params.putString("method", "photos.upload"); params.putByteArray("picture", data); AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook); mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null); } public class SampleUploadListener extends BaseRequestListener { public void onComplete(final String response, final Object state) { try { // process the response here: (executed in background thread) Log.d("Facebook-Example", "Response: " + response.toString()); JSONObject json = Util.parseJson(response); final String src = json.getString("src"); // then post the processed result back to the UI thread // if we do not do this, an runtime exception will be generated // eg "CalledFromWrongThreadException: Only the original // thread that created a view hierarchy can touch its views." } catch (JSONException e) { Log.w("Facebook-Example", "JSON Error in response"); } catch (FacebookError e) { Log.w("Facebook-Example", "Facebook Error: " + e.getMessage()); } } @Override public void onFacebookError(FacebookError e, Object state) { // TODO Auto-generated method stub } } 

    Voici tout le code, essayez-le, il fonctionnera définitivement pour vous et c'est aussi pour moi.

    La façon la plus simple pour vous est d'utiliser le SDK existant, quelque chose comme ça:
    http://github.com/facebook/facebook-android-sdk/
    http://code.google.com/p/fbconnect-android/
    http://wiki.developers.facebook.com/index.php/User:Android

    La manière la plus flexible est de mettre en œuvre l'API vous-même, voici les documents qui seront utiles:
    http://developers.facebook.com/docs/

    Si vous souhaitez publier une photo avec une description, vous pouvez le faire:

     public void publishPhoto(byte[] imgData, string message) { AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner (facebook); Bundle parameters = new Bundle (); parameters.putString (Facebook.TOKEN, facebook.getAccessToken()); parameters.putString ("message", message); parameters.putByteArray ("source", imgData); mAsyncRunner.Request ("me/photos", parameters, "POST", new RequestListener (), null); } 

    Avec succès, j'ai téléchargé les photos sur le mur de Facebook. J'ai utilisé le code suivant.

    Dans votre activité principale, procédez comme suit:

     btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub authenticatedFacebook.authorize(Facebooktest2Activity.this, new String[]{ "user_photos,publish_checkins,publish_actions,publish_stream"},new DialogListener() { @Override public void onComplete(Bundle values) { postImage(); Toast.makeText(getApplicationContext(), "Image Posted on Facebook.", Toast.LENGTH_SHORT).show(); } @Override public void onFacebookError(FacebookError error) { } @Override public void onError(DialogError e) { } @Override public void onCancel() { } }); } }); } public void postImage(){ byte[] data = null; Bitmap bi = BitmapFactory.decodeFile("/sdcard/img.jpg"); //Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.icon); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bi.compress(Bitmap.CompressFormat.JPEG, 100, baos); data = baos.toByteArray(); Bundle params = new Bundle(); params.putString(Facebook.TOKEN, authenticatedFacebook.getAccessToken()); params.putString("method", "photos.upload"); params.putByteArray("picture", data); AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(authenticatedFacebook); mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null); } public class SampleUploadListener extends BaseKeyListener implements RequestListener { public void onComplete(final String response, final Object state) { try { // process the response here: (executed in background thread) Log.d("Facebook-Example", "Response: " + response.toString()); JSONObject json = Util.parseJson(response); final String src = json.getString("src"); // then post the processed result back to the UI thread // if we do not do this, an runtime exception will be generated // eg "CalledFromWrongThreadException: Only the original // thread that created a view hierarchy can touch its views." } catch (JSONException e) { Log.w("Facebook-Example", "JSON Error in response"); } catch (FacebookError e) { Log.w("Facebook-Example", "Facebook Error: " + e.getMessage()); } } public void onFacebookError(FacebookError e, Object state) { // TODO Auto-generated method stub } public Bitmap getInputType(Bitmap img) { // TODO Auto-generated method stub return img; } @Override public int getInputType() { // TODO Auto-generated method stub return 0; } @Override public void onIOException(IOException e, Object state) { // TODO Auto-generated method stub } @Override public void onFileNotFoundException(FileNotFoundException e, Object state) { // TODO Auto-generated method stub } @Override public void onMalformedURLException(MalformedURLException e, Object state) { // TODO Auto-generated method stub } } 

    Sûrement Ce code vous aidera.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.