Я могу использовать API Google people/me
в варианте отладочной сборки, используя другой идентификатор клиента OAuth.Но в типе сборки релиза API выдает 400 Bad Request (используя релиз OAuth Client Id).Я уверен, что это не имеет ничего общего с идентификаторами клиента OAuth, иначе OAuth не состоялся бы.Ниже приведен журнал ошибок:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"message" : "Invalid JSON payload received. Unknown name \"WP\": Cannot bind query parameter. Field 'WP' could not be found in request message.",
"errors" : [ {
"message" : "Invalid JSON payload received. Unknown name \"WP\": Cannot bind query parameter. Field 'WP' could not be found in request message.",
"domain" : "global",
"reason" : "badRequest"
} ],
"status" : "INVALID_ARGUMENT"
}
Запрос API пользователя: Здесь параметры имеют тип android.accounts.Account
GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(
MyActivity.this,
Collections.singleton("https://www.googleapis.com/auth/contacts.readonly"));
credential.setSelectedAccount(params[0]);
PeopleService service = new PeopleService.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(getString(R.string.app_name))
.build();
ListConnectionsResponse connectionsResponse = service
.people()
.connections()
.list("people/me")
.setPersonFields("names,emailAddresses")
.execute();
return connectionsResponse.getConnections();