1

だから私はなんとか1.ログインを機能させました。2. ログインしたユーザーのイベントを作成します。3. ユーザーのフレンド リストを表示し、ユーザーにフレンドを選択して ID を取得するように依頼します。

選択したユーザーの ID を追加のホストとして使用して fb イベントを更新したいと考えています。何日も試みたにもかかわらず、私は立ち往生しています。

助けてください。

ログインコード :

btn_login = (Button) findViewById(R.id.button1);
    btn_login.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // start Facebook Login
            Session.openActiveSession(MainActivity.this, true,
                    new Session.StatusCallback() {

                        // callback when session changes state
                        @Override
                        public void call(Session session,
                                SessionState state, Exception exception) {
                            if (session.isOpened()) {

                                // make request to the /me API
                                Request.executeMeRequestAsync(session,
                                        new Request.GraphUserCallback() {

                                            // callback after Graph API
                                            // response with user
                                            // object
                                            @Override
                                            public void onCompleted(
                                                    GraphUser user,
                                                    Response response) {
                                                if (user != null) {
                                                    TextView welcome = (TextView) findViewById(R.id.tv1);
                                                    MangoTestApplication app = (MangoTestApplication) getApplication();
                                                    app.setUser(user);
                                                    // System.out
                                                    // .println(user);
                                                    welcome.setText("Hello "
                                                            + user.getName()
                                                            + "!");
                                                }
                                            }
                                        });

                            }
                        }
                    });

イベント作成 :

Bundle params = new Bundle();
            // params.putString("type", "event");

            // params.putString("title", "Sample events.event");
            // params.putString("description", "");
            params.putString("name", "Test Event4");

            params.putString("start_time", "2013-07-14");

            Session.getActiveSession().requestNewPublishPermissions(
                    new Session.NewPermissionsRequest(MainActivity.this,
                            Arrays.asList(permissions)));


            Request request = new Request(Session.getActiveSession(),
                    "me/events", params, HttpMethod.POST, new Callback() {

                        @Override
                        public void onCompleted(Response response) {
                            // System.out.println(response);
                            System.out.println(response);
                            event_id = response.getGraphObject()
                                    .getProperty("id").toString();
                            try {
                                if (response.getConnection()
                                        .getResponseCode() == 200)
                                    Toast.makeText(MainActivity.this,
                                            "Event Created",
                                            Toast.LENGTH_SHORT).show();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

                        }
                    });
            RequestAsyncTask task = new RequestAsyncTask(request);
            task.execute();

そして、ホストを追加するためのイベントの更新 (それは機能していません):

Bundle params = new Bundle();
            params.putString("name", "Test Event5");
            params.putString("host", fb friends id here));

            params.putString("start_time", "2013-07-15");

            Request request = new Request(Session.getActiveSession(),
                    event_id, params, HttpMethod.POST, new Callback() {

                        @Override
                        public void onCompleted(Response response) {
                            // System.out.println(response);
                            System.out.println(response);
                            try {
                                if (response.getConnection()
                                        .getResponseCode() == 200)
                                    Toast.makeText(MainActivity.this,
                                            "Event Created",
                                            Toast.LENGTH_SHORT).show();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

                        }
                    });
            RequestAsyncTask task = new RequestAsyncTask(request);
            task.execute();

イベントの更新は、名前/日付の変更に対して機能することに注意してください。しかし、ホストを追加することはできません。助けてください!!!注:「ホスト」の代わりに、選択したフレンドIDを「作成者」としてバンドルに挿入しようとしましたが、うまくいきません。

4

0 に答える 0