Как позвонить на https://www.googleapis.com/plus/v1/people/me в google

Я разрабатываю приложение для Android и мне нужно получить информацию «я» от Google, но я всегда получаю ответ с кодом 401 или 403. Что я делаю не так? Вот мой код:

private static final String GOOGLE_AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/plus.me";

Я получаю токен oauth (обратите внимание ... код ниже сокращен):

Account googleAccount = (AccountManager) getSystemService(ACCOUNT_SERVICE).getAccountsByType("com.google")[0];
final Bundle bundle = manager.getAuthToken(googleAccount, GOOGLE_AUTH_TOKEN_TYPE, true, null, null).getResult();
String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);

Пока все хорошо ... Теперь у меня есть токен, так что здесь все выглядит хорошо.

Теперь получите мне информацию:

String GOOGLE_ME_URL = "https://www.googleapis.com/plus/v1/people/me";
final DefaultHttpClient client = new DefaultHttpClient();
final HttpGet request = new HttpGet(GOOGLE_ME_URL);
request.addHeader("Authorization", "OAuth=" + authToken);
final HttpResponse response = client.execute(request);

Это дает код ответа 401.

Я также пробовал:

final DefaultHttpClient client = new DefaultHttpClient();
final HttpGet request = new HttpGet(GOOGLE_ME_URL + "?access_token=" + authToken);
final HttpResponse response = client.execute(request);

Это дает код ответа 403 - что-то вроде «Превышен дневной лимит. Пожалуйста, зарегистрируйтесь».

Что я делаю не так? что я пропустил? Как это сделать?

Спасибо

// Изменения ниже Еще одно расследование: Я добавил проект в code.google.com/apis/console, взял сгенерированный оттуда ключ и вставил его в URL-адрес, например: https://www.googleapis.com/plus/v1/people/me?key=my_generated_key&access_token= "+ authToken. Теперь звонок работает нормально, и я получаю ответ 200 с правильной информацией. Но я действительно не хочу использовать этот метод, если мне это не нужно, и, согласно Google, мне не нужно "• Если запрос требует авторизации (например, запрос личных данных человека), тогда он должен включать токен OAuth 2.0. Он также может включать ключ API, но это не обязательно ". - с сайта developers.google.com/+/api/oauth.

Другое дело: Если я попробую другой URL, например " https: // www.googleapis.com/oauth2/v1/tokeninfo?access_token= "+ authToken работает нормально.

8
задан user1140596 25 January 2012 в 08:04
поделиться