Google+ Java Quickstart последняя является довольно простым, возможно, вы нашли Olde r при поиске? Кроме того, documentation for getting started on Google+ with Java должен помочь вам в этом.
Следующий фрагмент кода показывает соответствующий код для замены коды авторизации на токен доступа при использовании the hybrid client/server flow:
GoogleTokenResponse tokenResponse =
new GoogleAuthorizationCodeTokenRequest(TRANSPORT, JSON_FACTORY,
CLIENT_ID, CLIENT_SECRET, code, "postmessage").execute();
// Create a credential representation of the token data.
GoogleCredential credential = new GoogleCredential.Builder()
.setJsonFactory(JSON_FACTORY)
.setTransport(TRANSPORT)
.setClientSecrets(CLIENT_ID, CLIENT_SECRET).build()
.setFromTokenResponse(tokenResponse);
Я удаляю строки исполнительских the requisite checks discussed in this thread для простоты.
// Store the token in the session for later use.
request.session().attribute("token", tokenResponse.toString());
Следует отметить, что вы хотите сохранить эти учетные данные, если пользователь не отключит ваше приложение. Образец использует сеанс, потому что в производственных средах сеанс может поддерживаться с помощью DB и будет восстановлен после перезапуска сервера.
После того, как у вас есть токен доступа/обновления и срок действия, создайте учетные данные для токена OAuth v2, а затем библиотека будет внутренне обновлять токен доступа соответствующим образом. Следующий код показывает, как это делается на QuickStart путем извлечения данных лексем из сеанса пользователя, а также включает в себя вызов API, выполняемый клиентом, доказав Java-клиент сервера работает:
// Build credential from stored token data.
GoogleCredential credential = new GoogleCredential.Builder()
.setJsonFactory(JSON_FACTORY)
.setTransport(TRANSPORT)
.setClientSecrets(CLIENT_ID, CLIENT_SECRET).build()
.setFromTokenResponse(JSON_FACTORY.fromString(
tokenData, GoogleTokenResponse.class));
// Create a new authorized API client.
Plus service = new Plus.Builder(TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
// Get a list of people that this user has shared with this app.
PeopleFeed people = service.people().list("me", "visible").execute();
Если вы хотите сделайте это по-другому, вы можете явно создать объект tokenData из токена доступа, обновить токен и т. д., прежде чем создавать объект службы Plus.
Благодарим вас за быстрый ответ. Я использовал другой lib, и я использовал тот, который вы предоставили, и это сработало для меня :) –
Я хочу задать другой вопрос: могу ли я получить поток пользователей или Newsfeed в Google Plus? или API предоставляет доступ только к собственным сообщениям пользователей? –
Чтобы просмотреть данные о публичных мероприятиях, ознакомьтесь с activity.list, https://developers.google.com/+/api/latest/activities/list. Не стесняйтесь также задать еще один вопрос. – class