0

FacebookのAPIを使用してアンドロイドアプリから画像を含む新しいアルバムを作成していますが、センス。私はいくつかの研究を行ったが、何も出てこなかった。助けてください!私はFacebookに画像をアップロードしようとしていますが、 "Key format expected byte []"を取得しようとしています

String albumName = ((TextView)findViewById(R.id.album_name)).getText().toString(); 
Bundle params = new Bundle(); 
params.putByteArray("pictures", toByteArray(mediaPath[0])); 
params.putString("name", albumName); 
request.request("https://graph.facebook.com/me/albums",params,"POST", new UploadListener(), new Object()); 

私のログの猫

1月26日15を見てみましょう:[]キーフォーマット期待バイトが、値がされるjava.langた:51:50.501:W /バンドル(616)。文字列。デフォルト値が返されました。 01-26 16:07:48.871:D/Facebook-Util(670):POST URL:https://graph.facebook.com/https://graph.facebook.com/me/albums 01-26 16:07:48.891:W/Bundle(670):期待されるキーの形式はバイトです。 java.lang.String。デフォルト値が返されました。 01-26 16:07:48.891:W/Bundle(670):生成された内部例外をキャストしようとしました: 01-26 16:07:48.891:W/Bundle(670):java.lang.ClassCastException:java.lang .String 01-26 16:07:48.891:W/Bundle(670):android.os.Bundle.getByteArray(Bundle.java:1305) 01-26 16:07:48.891:W/Bundle(670) :com.facebook.android.Util.openUrl(Util.java:155) 01-26 16:07:48.891:W/Bundle(670):com.facebook.android.Facebook.request(Facebook.java: (AsyncFacebookRunner.java:253) 01-26 16:07:49.390:D/dalvikvm (670):GC_CONCURRENTは2526K、5789K、5789K、外部5789K/6493K、一時停止5ms + 4ms、 01-26 16:07:49.560:W/Bundle(670) java.lang.Stringとして。デフォルト値が返されました。 01-26 16:07:49.560:W/Bundle(670):生成された内部例外をキャストしようとしました: 01-26 16:07:49.560:W/Bundle(670):java.lang.ClassCastException:java.lang .String 01-26 16:07:49.560:W/Bundle(670):android.os.Bundle.getByteArray(Bundle.java:1305) 01-26 16:07:49.560:W/Bundle(670) :com.facebook.android.Util.encodePostBody(Util.java:63) 01-26 16:07:49.560:W/Bundle(670):com.facebook.android.Util.openUrl(Util.java: 182) 01-26 16:07:49.560:W/Bundle(670):com.facebook.android.Facebook.request(Facebook.java:717) 01-26 16:07:49.560:W/Bundle 670):at com.facebook.android.AsyncFacebookRunner $ 2.run(AsyncFacebookRunner.java:253) 01-26 16:07:49.570:W/Bundle(670):期待されるキーの形式はバイトですが、値はJavaでした。 lang.String。デフォルト値が返されました。 01-26 16:07:49.570:W/Bundle(670):生成された内部例外をキャストしようとしました: 01-26 16:07:49.570:W/Bundle(670):java.lang.ClassCastException:java.lang .String 01-26 16:07:49.570:W/Bundle(670):android.os.Bundle.getByteArray(Bundle.java:1305) 01-26 16:07:49.570:W/Bundle(670) :com.facebook.android.Util.encodePostBody(Util.java:63) 01-26 16:07:49.570:W/Bundle(670):com.facebook.android.Util.openUrl(Util.java: 182) 01-26 16:07:49.570:W/Bundle(670):com.facebook.android.Facebook.request(Facebook.java:717) 01-26 16:07:49.570:W/Bundle 670):com.facebook.android.AsyncFacebookRunner $ 2.run(AsyncFacebookRunner.java:253) 01-26 16:07:49.610:D/dalvikvm(670):GC_FOR_MALLOCは、258K、57%無料、4445K/10311Kを解放しました。 5789K/649 3K、一時停止38ms 01-26 16:07:49.670:D/dalvikvm(3K)、一時停止38ms 01-26 16:07:49.620:I/dalvikvm-heap(670):2903026バイトの割り当てでヒープ(フレップケース)を15.307MBに拡張(670):GC_FOR_MALLOCを解放しました< 1K、45%無料7280K/13191K、外部5789K/6493K、一時停止32ms 01-26 16:07:49.781:D/dalvikvm(670):GC_CONCURRENT 4K、45%無料7280K/13191K 、外部5789K/6493K、一時停止4ms + 5ms 01-26 16:07:54.990:W/dalvikvm(670):threadid = 16:キャッチされない例外(グループ= 0x40015560)でスレッドが終了する 01-26 16:07:54 。990:E/AndroidRuntime(670):致命的な例外:スレッド19

答えて

1

交換してみてください:

params.putByteArray("pictures", toByteArray(mediaPath[0])); 

付:

params.putString("pictures", mediaPath[0]); 

それはとても[]はっきりバイトに満足していないのですそれが私が始める場所です。 (これは名前のとおりメディアパスは、[]文字列配列であると仮定します

問題が解決しない場合は、チェックし、その後、写真を追加し、最初のアルバムを作成するソリューションhere for working album creation試してみてください。うまく

+0

私はまだしようとしていますがこの "mAsyncRunner.request(null、params、" POST "、new UploadListener()、null);"を使用して、写真をアップロードすることができます。文字列を入力しようとしましたが、うまくいきませんでした。バイト配列を要求しているのは間違いありませんが、何の文字列ですか? –

関連する問題