0

我正在尝试在 android 中集成 Facebook API 以实现登录功能。我需要各个用户的电子邮件 ID。我收到 JSON 作为响应,但它没有电子邮件 ID。我怎样才能获得电子邮件 ID。

public void getProfileInformation() {
        mAsyncRunner.request("me", new RequestListener() {
            @Override
            public void onComplete(String response, Object state) {
                Log.d("Profile", response);
                String json = response;
                try {
                    // Facebook Profile JSON data
                    JSONObject profile = new JSONObject(json);

                    // getting name of the user
                    final String name = profile.getString("name");

                    // getting email of the user
                    final String email = profile.getString("email");

                    runOnUiThread(new Runnable() {

                        // Dayanand plzz check this log n let me know.

                        @Override
                        public void run() {
                            Toast.makeText(getApplicationContext(), "Name: " + name + "\nEmail: " + email, Toast.LENGTH_LONG).show();
                        }

                    });


                } catch (JSONException e) {
                    e.printStackTrace();
                }
            } 

这是代码,我在 Toast 中得到空值的地方。它去捕捉方法。请帮助

4

3 回答 3

0

您需要向用户请求email权限,否则您无法获得它。用户授予您权限后,您将在请求me.

请参阅http://developers.facebook.com/docs/reference/login/email-permissions/

于 2013-07-30T13:52:28.093 回答
0

email您必须向用户请求许可:

于 2013-07-30T13:52:17.790 回答
0

当您第一次登录时,您正在传递一个权限数组。所以,你必须通过这个数组来获得电子邮件权限..

private String[] permissions = {"publish_stream","email","user_about_me","user_status"};
于 2013-07-30T13:55:53.603 回答