Android facebook api post to wall avec image

Je voudrais pouvoir utiliser le sdk android de Facebook et publier un lien vers facebook. Un exemple de ce que je veux serait si vous étiez sur Facebook et vous tapez un lien dans votre partie de statut, comme "http://www.google.com". Lorsque vous faites cela, une boîte apparaît et votre publication finit par être un bloc contenant une image et un lien. J'ai trouvé de la documentation dans le facebook api pour cela en utilisant un attatchment, mais quand j'essaie de le faire avec l'Android Api Android ne semble pas fonctionner. J'ai cherché des heures sur le net, sans chance. Merci.

  • Erreur: "app_name" n'est pas traduit en af
  • DialogFragment.getDialog renvoie null
  • Afficher une vignette floue avant de télécharger l'image entière (comme dans Whatsapp)?
  • Comment ajouter des événements de calendrier au calendrier par défaut, en silence sans Intention, dans Android 4?
  • Erreur de signature APK: Impossible de lire la clé dans le magasin de clés
  • Comment changer le chemin .android
  • Android Bluetooth: Obtenez des UUID de périphériques découverts
  • Problèmes de rendu Android Studio
  • Titre de styleDivider in Dialog
  • Télécharger une image de la caméra ou de la galerie dans WebView
  • Comment créer une clé API pour GCM?
  • Masquer le clavier doux en cas de perte de focus
  • 2 Solutions collect form web for “Android facebook api post to wall avec image”

    En supposant que vous lisez ceci, vous savez comment vous connecter sur Facebook et par …

    private void fbImageSubmit(Facebook fb, String imageurl, String caption, String description, String name, String linkurl) { if(fb != null) { if(fb.isSessionValid()) { Bundle b = new Bundle(); b.putString("picture", imageurl); b.putString("caption",caption); b.putString("description",description ); b.putString("name",name); b.putString("link",linkurl); try { String strRet = ""; strRet = fb.request("/me/feed",b,"POST"); JSONObject json; try { json = Util.parseJson(strRet); if(!json.isNull("id")) { Log.i("Facebook", "Image link submitted."); } else { Log.e("Facebook","Error: " + strRet); } } catch (FacebookError e) { Log.e("Facebook","Error: " + e.getMessage()); } } catch (Exception e) { Log.e("Facebook", "Error: " + e.getMessage()); } } } } 

    Cela fonctionne parfaitement avec la boîte de dialogue Progress … Je l'ai utilisé …

    Vous devez ajouter le pot de Facebook …

      Facebook authenticatedFacebook = new Facebook(APP_ID); private static final String[] PERMISSIONS = new String[] { "publish_stream", "read_stream", "offline_access" }; 

    Appelez ci-dessous la fonction sur le bouton Cliquez sur ….

      authenticatedFacebook.authorize(YOUR_CLASS_NAME.this, PERMISSIONS, new FaceBookWallPostListener()); 

    Maintenant, ajoutez cette classe …

      public class FaceBookWallPostListener implements DialogListener { public void onComplete(Bundle values) { new FacebookWallPost().execute(); } public void onCancel() { } public void onError(DialogError e) { e.printStackTrace(); } public void onFacebookError(FacebookError e) { e.printStackTrace(); } } @Override protected boolean isRouteDisplayed() { return false; } private class FacebookWallPost extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... params) { try { path = "Path OF YOUR IMAGE"; Bundle parameters = new Bundle(); parameters.putString("message", "MESSAGE YOU WANT TO POST"); try { File file = new File(path, "IMAGE_NAME.jpg"); Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); byte[] data = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); data = baos.toByteArray(); if (data != null) { parameters.putByteArray("picture", data); } parameters.putString("access_token", authenticatedFacebook.getAccessToken()); authenticatedFacebook.request("me"); authenticatedFacebook.request("me/photos", parameters, "POST"); } catch (Exception e) { return e.getMessage(); } return "success"; } catch (Exception e) { return e.getMessage(); } } @Override protected void onPostExecute(String result) { pDialog.dismiss(); if (result.equals("success")) { Toast.makeText(YOUR_CLASS_NAME.this, "WallPost Successfully Done", Toast.LENGTH_SHORT).show(); try { new File(Environment.getExternalStorageDirectory().toString() + "/Diegodeals", "diegodeals.jpg").delete(); } catch (Exception e) { } } else { Toast.makeText(YOUR_CLASS_NAME.this, "Failed to post \n " + result, Toast.LENGTH_SHORT).show(); } } @Override protected void onPreExecute() { pDialog = new ProgressDialog(YOUR_CLASS_NAME.this); pDialog.setMessage("Posting Picture & Message on Facebook..."); pDialog.show(); } } 

    ///// GOOOD LUCK.

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