2016-06-13 1 views
0

В моем решении мне нужно получить сообщения от gmail. Но каждый раз, когда я это делаю, я вижу на моей локальной машине этого сообщения enter image description hereAPI Gmail: разрешить использование данных без постоянного подтверждения

Конечно, если я подтверждаю это, я получаю необходимые данные, но этот подход не подходит мне хорошо, особенно, когда я собирается поставить его на ежедневной перспективе. Кто-нибудь знает, как я могу избежать этого окна подтверждения? Большое спасибо.

ответ

0

Попробуйте вместо этого использовать Service Accounts.

Учетная запись службы используется в приложении, которое вызывает API от имени приложения, которое не имеет доступа к информации о пользователе. Этот тип приложения должен подтвердить свою личность, но для авторизации запросов не нужен пользователь .

Setting up service account:

  1. Откройте Учетные записи служб раздел страницы Разрешения Разработчики консоли.
  2. Нажмите «Создать учетную запись службы». В окне «Создать учетную запись службы» введите имя учетной записи службы и выберите «Отделка» нового частного ключа .
  3. Если вы хотите предоставить полномочия домена домена Google Apps учетной записи службы, выберите «Включить доменное имя домена ». Затем нажмите «Создать». Ваша новая пара открытого/закрытого ключа - , сгенерированная и загруженная на ваш компьютер; он служит только копией этого ключа. Вы несете ответственность за их надежное хранение.

Вы можете вернуться к консоли разработчика в любое время, чтобы просмотреть сообщения электронной почты адреса, открытые ключи отпечатков пальцев, а также другую информацию, или в создавать дополнительные/частные пары ключей общественности. Для получения дополнительных сведений о учетных данных учетной записи службы в Консоли разработчика см. В разделе «Службы » в файле справки консоли разработчика.

Обратите внимание на адрес электронной почты учетной записи службы и сохраните услугу файла закрытого ключа учетной записи P12 в месте, доступном для вашего приложения . Ваше приложение нуждается в них для авторизации API-вызовов.

1

Необходимо запросить разрешение на автономный доступ. Из их документации:

Если приложение требует доступа в автономном режиме, в первый раз ваше приложение обменивается код авторизации, он также получает токен обновления, который он использует, чтобы получить новый маркер доступа после того, как предыдущий токен истек. Ваше приложение сохраняет этот токен обновления (обычно в базе данных на вашем сервере) для последующего использования.

К сожалению, они не предоставляют достаточного количества примеров того, как это сделать.

Первое, что вам нужно сделать, это добавить «офлайн» в свою область при подаче запроса на получение URL-адреса входа.Это приведет к получению токена обновления в ответе API. Сохраните этот токен в базе данных и в любое время, когда вам нужно получить доступ к учетной записи, вы сможете обновить токен и получить токен доступа без запроса авторизации от пользователя.

В PHP, используя свои SDK, то обновление может быть сделано так просто, как

$this->client->refreshToken($refreshToken)

(где клиент является экземпляром своего класса Client). Должно быть одинаковым во всех других SDK, которые они предоставляют. Проверьте функции в классе, который вы используете.

Смежные вопросы