403 Запрещенный ответ Google API
Я использую Google+ Api для создания новых кругов для пользователей. Когда я пытаюсь выполнить запрос POST, я получаю ответ, подобный следующему:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
Это тот же ответ, который я получаю, когда пытаюсь выполнить тот же запрос, используя собственный проводник Google API Google, https://developers.google.com/+/domains/api/circles/insert который мне кажется странным. Почему я получаю запрещенный ответ от googles собственного api expolrer? Может ли это быть что-то не так с их стороны?
Я использую библиотеку OAuth писца вместе с yincrash Google2Api https://github.com/fernandezpablo85/scribe-java
https://gist.github.com/yincrash/2465453
Запрос создается так в AsyncTask
OAuthService service = new ServiceBuilder()
.provider(Google2API.class)
.apiKey(GOOGLE_CLIENT_ID)
.apiSecret(GOOGLE_CLIENT_KEY)
.callback(GOOGLE_CALLBACK)
.scope(SCOPE_WRITE)
.scope(SCOPE_ME)
.build();
String postUrl = "https://www.googleapis.com/plusDomains/v1/people/me/circles";
String requestBody = "{\n" +
" \"displayName\": \"Circle Name\",\n" +
" \"description\": \"Circle with people you added\"" +
"}";
Token accessToken = new Token(sharedPreferences.getString(PREF_GOOGLE_KEY, ""), "");
OAuthRequest request = new OAuthRequest(Verb.POST, postUrl);
request.addHeader("Content-Type", "application/json")
request.addPayload(requestBody);
service.signRequest(accessToken, request);
Response response = request.send();
Он отлично работает, чтобы войти, и у меня сохранен токен доступа.