1

カスタム opengraph オブジェクトを使用して Facebook に公開しようとしています。コードを実行してもエラーは発生しませんが、投稿も公開されません。

コードは以下のチュートリアルを参考にしました。 https://developers.facebook.com/docs/android/share-using-the-object-api/

これは私のコードです。

// Check for publish permissions
        Log.w("FBShare", "Publish Story not null");
        List<String> permissions = session.getPermissions();
        if (!isSubsetOf(PERMISSIONS, permissions)) {
            pendingPublishReauthorization = true;
            Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
                    this, PERMISSIONS);
            session.requestNewPublishPermissions(newPermissionsRequest);
            Log.w("FBShare", "has permission");
            return;
        }
        progressDialog = ProgressDialog.show(this, "", "LOADING..", true);
        RequestBatch requestBatch = new RequestBatch();

        OpenGraphObject match = OpenGraphObject.Factory
                .createForPost("cricdecode:match");
        match.setTitle("My match");
        match.getData().setProperty("my_team", "Team A");
        match.getData().setProperty("opponent", "Team B");
        match.getData().setProperty("venue", "some plc");

        // Set up the object request callback
        Request.Callback objectCallback = new Request.Callback() {

            @Override
            public void onCompleted(Response response) {
                // Log any response error
                FacebookRequestError error = response.getError();
                if (error != null) {
                    dismissProgressDialog();
                    Log.w("FBShare", "error");
                }
            }
        };
        Request objectRequest = Request.newPostOpenGraphObjectRequest(
                Session.getActiveSession(), match, objectCallback);
        objectRequest.setBatchEntryName("objectCreate");
        requestBatch.add(objectRequest);
        requestBatch.executeAsync();

        OpenGraphAction playAction = OpenGraphAction.Factory
                .createForPost();
        playAction.setProperty("match", "{result=objectCreate:$.id}");

        // Set up the action request callback
        Request.Callback actionCallback = new Request.Callback() {

            @Override
            public void onCompleted(Response response) {
                dismissProgressDialog();
                FacebookRequestError error = response.getError();
                if (error != null) {
                    Toast.makeText(
                            MainActivity.main_context
                                    .getApplicationContext(),
                            "Error 1: "+error.getErrorMessage(), Toast.LENGTH_LONG)
                            .show();
                } else {
                    String actionId = null;
                    try {
                        JSONObject graphResponse = response
                                .getGraphObject().getInnerJSONObject();
                        actionId = graphResponse.getString("id");
                    } catch (JSONException e) {
                    }
                    Toast.makeText(
                            MainActivity.main_context
                                    .getApplicationContext(),
                            actionId, Toast.LENGTH_LONG).show();
                }
            }
        };

        // Create the publish action request
        Request actionRequest = Request.newPostOpenGraphObjectRequest(
                Session.getActiveSession(), match, actionCallback);

        // Add the request to the batch
        requestBatch.add(actionRequest);
4

3 に答える 3

0

問題はここにあると思います: // パブリッシュ アクション リクエストを作成します Request actionRequest = Request.newPostOpenGraphObjectRequest( Session.getActiveSession(), match, actionCallback);

次のように変更します。

// Create the publish action request
Request actionRequest = Request.newPostOpenGraphActionRequest(
Session.getActiveSession(), playAction, actionCallback);
于 2013-10-10T12:29:32.157 に答える
0

あなたが生成したFingerPrintとHashコードは、私とは違うかもしれないと思います。それでも同じ問題に直面している場合は、以下のリンクに従ってマシンから新しいハッシュ キーを生成してください。 Android-Facebook アプリのキー ハッシュ

生成されたハッシュ キーを Face book 開発者アカウントに配置して、もう一度試してください。

于 2013-09-19T06:52:10.413 に答える