0

私は何千もの方法を試しましたが、どれもうまくいきません。毎回投稿が表示されません。以前にテキストを投稿することはできましたが、画像は機能しません...

     try {
            String response = facebook.request("me");
            Bundle parameters = new Bundle();

            String DIRECTORY_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/img/img.jpg";
            Bitmap bitmap = BitmapFactory.decodeFile(DIRECTORY_PATH);
            byte[] data = null;
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            data = baos.toByteArray();
            parameters.putString("message", "picture caption");
            parameters.putByteArray("source", data); //I try "picture" too

            String pageid = "152390368241461";
            response = facebook.request(pageid + "/photos", parameters, 
                    "POST");
            Log.d("Tests", "got response: " + response);
            if (response == null || response.equals("") || 
                    response.equals("false")) {
               Log.v("Error", "Blank response");
           }
            showToast(getResources().getString(R.string.sucessharefc));
     } catch(Exception e) {
         e.printStackTrace();
     }
4

3 に答える 3

1

Graph API Page docsによると、権限 multipart/form-dataを持つトークンを使用して POST を作成する必要があります。publish_streammanage_pages

Facebook Android SDK request() docs は、使用している形式について次のようにrequest()述べています。

バイナリ データ パラメーター (画像など) は、このヘルパー関数ではまだサポートされていないことに注意してください。

したがって、これには HTTP クライアント ライブラリを使用する必要があります。

于 2013-01-28T08:03:27.210 に答える
-1

FacebookSDKの非推奨のAPIを使用しています。ここから最新バージョンをダウンロードし、スタートガイドとさまざまなチュートリアルを確認してください。

写真をアップロードするには、Requestクラス、特にRequest.newUploadPhotoRequestメソッドを使用する必要があります。

于 2013-01-28T18:02:47.280 に答える