2013-03-15 10 views
9
private void postToWall(String msg) { 
     Bundle parameters = new Bundle(); 
     // parameters.putString("method", "stream.publish"); 

     JSONObject attachment = new JSONObject(); 

     try { 

      byte[] data = null; 

      Bitmap bi = BitmapFactory.decodeResource(getResources(), 
        R.drawable.bluerib); 
      // Bitmap bi = 
      // BitmapFactory.decodeFile("http://demos.com/LangGuage/medal_1.png"); 
      ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
      bi.compress(Bitmap.CompressFormat.JPEG, 30, baos); 
      data = baos.toByteArray(); 

      // Bundle params = new Bundle(); 
      // params.putByteArray("picture", data); 
      attachment.put("type", "image"); 
      // attachment.put("picture", data); 
      attachment.put("name", "LangGuage"); 
      attachment.put("message", msg); 
      attachment.put("src", "http://demos.com/LangGuage/medal_1.png"); 
      attachment.put("href", "http://www.abc.com"); 
      // attachment.put("href", 
      // "http://hwsdemos.com/LangGuage/medal_1.png"); 

      parameters.putString(Facebook.TOKEN, facebook.getAccessToken()); 
      parameters.putString("attachment", attachment.toString()); 
      String response = facebook.request("me/photos", parameters, "POST"); 

      System.out.println("----responce" + response); 

      if (response.contains("Duplicate status message")) { 
       progressHandler.sendEmptyMessage(1); 
       resp = 1; 

      } else if (response == null || response.equals("") 
        || response.equals("false") || response.contains("error")) { 
       Log.d("error", "error response"); 
      } else { 
       progressHandler.sendEmptyMessage(0); 
       resp = 0; 

      } 

     } catch (Exception e) { 
      Log.e(TAG, "Posting fail"); 

      e.printStackTrace(); 
      // finish(); 
     } 

    } 

Moja aplikacja obsługuje pojedyncze logowanie dla Facebook. Nie chcę używać okien dialogowych. Ilekroć próbuję zamieścić zdjęcie i wiadomość razem w załączniku I złapać:{"error": {"message": "(# 324) Wymaga przesłania pliku", "typu": "OAuthException", "code": 324}}

{"error":{"message":"(#324) Requires upload file","type":"OAuthException","code":324}} 
+0

usuń to 'attachment.put (" type " , "image"); ' – Nezam

+0

Sprawdziłem po usunięciu tej linii.Ale nadal otrzymuję ten sam błąd –

Odpowiedz

4

Zobacz docs na życzenie zdjęcia wykres post tutaj https://developers.facebook.com/docs/reference/api/user/#photos

Twoje dane obrazu powinien iść w polu „source” , a jedynymi innymi dostępnymi polami są "message", "place" i "no_story". "src", "name", "href" nie są poprawnymi polami

+0

Czy to nadal prawda? Czytałem, że ca n opublikuj zdjęcie za pomocą adresu URL, w takim przypadku możesz "src" zamiast "source": https://developers.facebook.com/docs/graph-api/reference/v2.0/user/photos/ –

+1

Możesz opublikować zdjęcie za pomocą "źródła" lub "adresu URL". –

+0

Zobacz także https://developers.facebook.com/docs/php/FacebookFile/ – here

Powiązane problemy