Je suis nouveau sur Android. Je cherche une photo de chargement sur facebook par autorisation, en obtenant access_token. Comment faire ça? S'il vous plaît donnez-moi un exemple de code en Java.Télécharger une photo vers Facebook avec Facebook Android SDK dans Android
Répondre
La meilleure façon 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 façon plus souple est de mettre en œuvre l'API vous-même, voici les documents qui seront être utile:
http://developers.facebook.com/docs/
En regardant l'API FB, je ne vois aucun moyen de télécharger une image. Je vois seulement que vous pouvez passer une URL d'image en tant que paramètre, mais pas les données d'image elle-même. Ou ai-je négligé quelque chose? –
comment partager plus d'une image à fb..please help – jyomin
Juste ici la manière posté simple à télécharger une photo:
android facebook publish 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);
comment puis-je ajouter une description à la photo téléchargée? – Maxim
Havent essayé mais je suis sûr que si vous regardez sur les doc de développement facebook, il y aura quelque chose que vous pouvez ajouter aux paramètres. – trgraglia
avez-vous compris? La partie sur la description? – ekawas
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
// e.g. "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
}
}
ici est le code tout l'essayer il vraiment travailler pour vous et il est un travail pour moi aussi
Qu'est-ce que BaseRequestListener? –
Votre exemple fonctionne pour moi. Mais en plus je veux poster le message simple avec ce post photo. Alors, comment c'est possible? Une idée ? répondez ici: http://stackoverflow.com/questions/8585043/android-how-to-post-the-message-with-the-image-post-on-facebook –
photos.upload n'est pas un héritage obsolète Reposer la méthode Api? –
avec succès je l'ai téléchargé les photos disponibles sur le mur 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
// e.g. "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.
J'ai utilisé ce code, et a obtenu exception comme java.lang.OutOfMemoryError \t à java.io.ByteArrayOutputStream.expand (ByteArrayOutputStream.java:103) \t à java.io.ByteArrayOutputStream.write (ByteArrayOutputStream .java: 234) \t à android.graphics.Bitmap.nativeCompress (méthode native) dans cette ligne bi.compress (Bitmap.CompressFormat.JPEG, 100, baos); – Manikandan
authenticFacebook est ce que .. il me donne une erreur..please help – jyomin
Homme cela m'a vraiment aidé. Merci beaucoup. – Mayur
Si vous souhaitez publier une photo avec une description que vous pouvez faire ceci:
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);
}
+1 C'est tout! Je vous remercie. Après avoir passé en revue tant de personnes utilisant l'API existante, celle-ci montre finalement la solution Graph api. –
- 1. Android Facebook SDK - java.lang.NoClassDefDefFoundError
- 2. Facebook android SDK
- 3. Facebook android sdk envoyer une demande
- 4. télécharger et télécharger photo de profil facebook
- 5. Android Facebook SDK - comment faire un like?
- 6. FQL en utilisant Facebook android SDK
- 7. Utilisation de Facebook Android SDK (clé API)
- 8. Facebook Télécharger la photo et ServerXMLHTTP
- 9. facebook connecter pour android
- 10. Intégrer Facebook avec PhoneGap @ Android
- 11. Télécharger une image avec l'API facebook
- 12. FaceBook Api pour Android
- 13. FaceBook se connecter dans Android
- 14. Android Facebook Intention
- 15. facebook webservices pour android
- 16. Facebook json parsing dans Android
- 17. Facebook Publier Erreur dans l'application Android
- 18. problème en récupérant Facebook android-sdk de github
- 19. Partage d'URL vers Facebook, Twitter et e-mail dans Android?
- 20. télécharger des composants Android SDK sans le gestionnaire Android SDK
- 21. graphique Facebook api photo Télécharger un album fan page
- 22. Facebook Connect et Albums photo
- 23. Comment supprimer une photo dans Facebook
- 24. Facebook Connect et albums photo
- 25. Facebook fan page photo scraping
- 26. Télécharger des photos sur Facebook
- 27. Télécharger PhotoAlbum de Facebook
- 28. Facebook Graph API - Photo Upload
- 29. Ajout de contenu au dialogue de flux Facebook à partir de Facebook SDK pour Android
- 30. Jeux sur Facebook pour Android
Sanjana, vous devez accepter une réponse. Il vous aide, vous et d'autres personnes qui vous aident sur Stack Overflow. Merci. – trgraglia