2015-08-18 3 views
0

Я пытаюсь разместить изображение на своей стене через свое приложение. Он хорошо работает с http-ссылками, но мне нужно разместить пост-изображение из моей локальной памяти телефона.Facebook sdk image posting failed

File photo = new File(Environment.getExternalStorageDirectory(), "photo.jpeg"); 
Bundle bundle = new Bundle(); 
bundle.putString("caption", "test"); 
bundle.putString("url", photo.toURI().toString()); 
if (AccessToken.getCurrentAccessToken()!=null) { 
    new GraphRequest(
       AccessToken.getCurrentAccessToken(), 
       "/<user_id>/photos", bundle, 
       HttpMethod.POST, 
       new GraphRequest.Callback() { 
         public void onCompleted(GraphResponse response) { 
          /* handle the result */ 
          Log.i("<<FB=====>>", response.toString()); 

         } 
       } 
    ).executeAsync(); 
} 

Но это не работает, получает следующий ответ

{Response: responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 324, errorType: OAuthException, errorMessage: (#324) Missing or invalid image file}} 

Теперь, как я могу прикрепить файл?

+0

http://stackoverflow.com/a/20998517/5216567 –

ответ

1

Если вы загружаете из локальной памяти, пропусков в uri недостаточно. Вы должны использовать метод newUploadPhotoRequest(AccessToken, String, File, String, Bundle, Callback) в классе GraphRequest.

+0

Спасибо ... я постараюсь ответить ..... –

+0

+1 получил это отсюда, https://developers.facebook.com/docs/ссылки/Android/ток/класс/GraphRequest/# newUploadPhotoRequest –