0

今まで見たすべてのコードが SDK 3.0.1 で動作しない

このコードのように: Facebook SDK を使用して、SD カードから Facebook に動画をアップロードできますか?

Facebookがutilファイルを変更したためだと思いますが、よくわかりません。

誰かが私たち (このコードを検索する多くの開発者) と、SD カードから Facebook ウォールに mp4 ファイル ビデオを正常にアップロードする (SDK 3.0.1 の) 作業コードを共有してくれると嬉しいです。

よろしくお願いします

4

2 に答える 2

4

このコードを試してください、それは働いています:

File file=new File(Environment.getExternalStorageDirectory()+"/testvideo.mp4");
                        try {
                            Request audioRequest = Request.newUploadVideoRequest(session, file, new Request.Callback() {

                                @Override
                                public void onCompleted(Response response) {
                                    // TODO Auto-generated method stub

                                    if(response.getError()==null)
                                    {
                                        Toast.makeText(MainActivity.this, "Video Shared Successfully", Toast.LENGTH_SHORT).show();
                                    }
                                    else
                                    {
                                        Toast.makeText(MainActivity.this, response.getError().getErrorMessage(), Toast.LENGTH_SHORT).show();
                                    }
                                }
                            });
                            audioRequest.executeAsync();
                        } catch (Exception e) {
                            e.printStackTrace();

                        }
于 2013-08-08T12:02:23.647 に答える
0

これは、SDK 3.0.1 を使用して Facebook にビデオをアップロードする作業です。お楽しみください...:)

// Check for publish permissions
        List<String> permissions = session.getPermissions();
        if (!permissions.containsAll(PERMISSIONS)) {
            this.requestPublishPermissions(session);
            this.is_return = true;
            return;
        }

        Session session = Session.getActiveSession();
        if (session != null){

            Request.Callback requestCallback= new Request.Callback() {
                public void onCompleted(Response response) {
                    final FacebookRequestError error = response.getError();
                    if(SubmitPost.this.pDialog.isShowing()) {
                        SubmitPost.this.pDialog.dismiss();
                    }
                    if (error != null) {
                        new AlertDialog.Builder(SubmitPost.this)
                            .setTitle("Error")
                            .setMessage(error.getErrorMessage())
                            .setPositiveButton("OK", null)
                            .show();
                        } else {
                        try {
                            GraphObject graphObject = response.getGraphObject();
                            if(graphObject != null) {
                            JSONObject graphResponse = graphObject.getInnerJSONObject();
                            postId = graphResponse.getString("id");
                            SubmitPost.this.write_status.setText("");
                                if(SubmitPost.this.showDialog) {
                                    SubmitPost.this.showDialog = false;
                                    SubmitPost.this.groups_list.setAdapter(SubmitPost.this.adapter);
                                    new AlertDialog.Builder(SubmitPost.this)
                                            .setTitle("Result")
                                            .setMessage("Your status is posted successfully")
                                            .setPositiveButton("OK", null)
                                            .show();
                                }
                            }
                        } catch (JSONException e) {
                            Log.i("TAG","JSON error "+ e.getMessage());

                           Bundle postParams = new Bundle();
                           final RequestBatch requestBatch = new RequestBatch();
                           ParcelFileDescriptor descriptor = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
            postParams.putParcelable(file.getName(), descriptor);
//                      byte[] data = Utility.videoEncode(this.file);
//                      postParams.putByteArray("video", data);
                        for (final String requestId : requestIds) {
                            requestBatch.add(new Request(SubmitPost.this.session, requestId+"/videos", postParams, HttpMethod.POST, requestCallback));
                        }
                    }
                    if (!postParams.containsKey(MIGRATION_BUNDLE_PARAM)) {
                        postParams.putString(MIGRATION_BUNDLE_PARAM, FbSdkVersion.MIGRATION_BUNDLE);
                    }
                }
                requestBatch.executeAsync();
于 2013-04-29T07:42:52.553 に答える