-1

今、私はfacebookを介してログインに取り組んでいます。そのために、私はAndroid SDK 3.0を使用しています。私のアプリでは、ユーザーのメール ID を取得する必要があります。次のコードを使用してメール ID を取得していますが、取得できません。何か提案をいただけますかw私は間違っています。毎回私は別の部分に行くつもりです。

loginButton = (LoginButton) findViewById(R.id.authButton);
    // for error on login
    loginButton.setOnErrorListener(new OnErrorListener() {

        public void onError(FacebookException error) {
            Log.i(TAG, "Error " + error.getMessage());
        }
    });
    // loginButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);

    // set permission list, Don't forget to add email
    loginButton.setReadPermissions(Arrays.asList("basic_info", "email"));

    // session state call back event

    loginButton.setSessionStatusCallback(new Session.StatusCallback() {

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

                Log.i(TAG, "Access Token" + session.getAccessToken());
                Request.executeMeRequestAsync(session,
                        new Request.GraphUserCallback() {

                            @Override
                            public void onCompleted(GraphUser user,
                                    Response response) {
                                if (user != null) {
                                    Log.d(TAG, "User ID " + user.getId());
                                    Log.d(TAG,
                                            "Email "
                                                    + user.asMap().get(
                                                            "email"));

                                }
                            }

                        });

            } else {
                Log.d("session is not valid", ""
                        + Session.getActiveSession().getState());
            }

        }

    });
4

1 に答える 1

0

これを使用してキーを取得できます

PackageInfo info = getPackageManager().getPackageInfo(
        "Your Pakage name", 
        PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }

キーはログに表示されます。

もう1つのこと(あなたのコメントに基づく)は、SVNを試して、チームが競合することなく同じプロジェクトに取り組むことができるようにすることです

于 2013-06-07T05:58:27.827 に答える