获取Gmail用户收件箱中的所有电子邮件

时间:2019-06-09 11:52:52

标签: android gmail-api

我在使用Gmail API获取用户收件箱电子邮件时遇到问题。 基本上,我在身份验证方面遇到问题,在请求电子邮件之前我不知道如何进行身份验证。

我已经在Google开发者控制台中注册了我的应用,并为我的应用创建了outh2Client ID。并为此应用启用了Gmail Api。

这是我的清单权限

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>

这是我的build.gradle文件

    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'pub.devrel:easypermissions:0.3.0'
    implementation 'com.google.api-client:google-api-client- 
    android:1.23.0'
    implementation 'com.google.apis:google-api-services-slides:v1-rev294- 
    1.23.0'
    implementation 'com.google.api-client:google-api-client:1.25.0'
    implementation 'com.google.apis:google-api-services-gmail:v1-rev104- 
    1.25.0'
    implementation 'com.android.volley:volley:1.1.1'

这是我尝试获取所有消息

    String url="https://www.googleapis.com/gmail/v1/users/
    mudassirktk41@gmail.com/messages";
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    StringRequest request = new StringRequest(Request.Method.GET,url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d("respos",response);

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

            Log.d("respos",error.toString());

        }
    }){
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Authorization", "OAuth 533655669585-79ors38egmiuj4ct3afcsfcv08lhegh6.apps.googleusercontent.com");
            return headers;
        }


    };

    requestQueue.add(request);

我的代码一直都显示错误“ com.android.volley.AuthFailureError”。

1 个答案:

答案 0 :(得分:0)

您可以按照HERE所述,使用适用于Android的G Suite API。和您的依赖关系:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:25.0.1'
    compile 'com.google.android.gms:play-services-auth:15.0.1'
    compile 'pub.devrel:easypermissions:0.3.0'
    compile('com.google.api-client:google-api-client-android:1.23.0') {
        exclude group: 'org.apache.httpcomponents'
    }
    compile('com.google.apis:google-api-services-<API>-<VERSION>') {
        exclude group: 'org.apache.httpcomponents'
    }
}