如何在登录过程中获取Dropbox帐户的电子邮件?

时间:2014-04-22 11:16:43

标签: android dropbox

我用了#34; dropbox-android-sdk-1.6.1.jar"并试图收到电子邮件:

AndroidAuthSession session = buildSession();
mApi = new DropboxAPI<AndroidAuthSession>(session);


mApi.getSession().startOAuth2Authentication(myactivity.this);

然而,我只能取回displayname:

String email = mApi.accountInfo().displayName.toString();

我如何获得用户使用dropboxAPI进行身份验证的电子邮件? 我感谢任何回复。感谢

1 个答案:

答案 0 :(得分:0)

我使用反射来获取包含电子邮件信息的JSONObject

public static JSONObject getJson(DbxAccountInfo info) {
    Class<?> accountClass;
    Field rawJson = null;
    try {
        accountClass = Class.forName(info.getClass().getName());
        rawJson = accountClass.getDeclaredField("rawJson");
    } catch (ClassNotFoundException e1) {
        Log.d("myLogs", e1.getMessage() + " exception");
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    }
    rawJson.setAccessible(true);
    JSONObject json = null;
    try {
        json = new JSONObject((String)rawJson.get(info));
    } catch (IllegalAccessException e2) {
        e2.printStackTrace();
    } catch (IllegalArgumentException e2) {
        e2.printStackTrace();
    } catch (JSONException e2) {
        e2.printStackTrace();
    }
    return json;
}