我在使用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”。
答案 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'
}
}