1

我正在使用 Google+ Api 为用户创建新圈子。当我尝试 POST 请求时,我得到如下响应:

 {
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "forbidden",
        "message": "Forbidden"
      }
    ],
    "code": 403,
    "message": "Forbidden"
  }
}

这是我尝试使用 Google 自己的 Google API 浏览器https://developers.google.com/+/domains/api/circles/insert执行相同请求时得到的相同响应,这对我来说似乎很奇怪。为什么我从谷歌自己的 api expolrer 收到禁止响应?这可能是他们的问题吗?

我正在使用 scribe 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();

登录效果很好,我保存了访问令牌。

4

0 回答 0