ПОЛОЖЕНИЕ:Gmail API: Недостаточное Разрешение
Я тестирование Gmail API для моего приложения.
Я протестировал несколько запросов, и они работают нормально. Например, получите сообщения, получите историю пользователей, получите черновик списка и т. Д.
В основном все только запросы работают нормально.
У меня есть некоторые проблемы, связанные с разрешением с другими запросами, например, когда мне нужно написать или удалить черновик.
Это ошибка, я получаю:
(403) Insufficient Permission
КОД:
Это функция для инициализации приложения:
public function gmail_init_service()
{
$client = new Google_Client();
$client->setApplicationName("Gmail API test");
$client->setDeveloperKey("MY_KEY");
$client->setClientSecret('MY_CLIENT_SECRET');
$client->SetClientId('MY_CLIENT_ID');
$client->setScopes(array('https://mail.google.com/'));
$client->setAccessToken('{"access_token":"MY_ACCESS_TOKEN","token_type":"Bearer","expires_in":3600,"refresh_token":"MY_REFRESH_TOKEN","created":1433502343}');
$service = new Google_Service_Gmail($client);
return $service;
}
Это запрос на удаление одного проект:
public function gmail_delete_draft()
{
$service = $this->gmail_init_service();
// --------------- Get draft list --------------
$list = $service->users_drafts->listUsersDrafts('me');
$draftList = $list->getDrafts();
// --------------- Get draft IDs ---------------
$inbox_draft = [];
foreach($draftList as $mlist)
{
$draftId = $mlist->id;
$optParamsGet2['format'] = 'full';
$single_message = $service->users_drafts->get('me', $draftId , $optParamsGet2);
$inbox_draft[]['draftId'] = $draftId;
$inbox_draft[]['draft'] = $single_message;
}
// --------------- Delete draft ---------------
$draft_delete = $service->users_drafts->delete('me', 'DRAFT_ID');
}
EDIT:
Я попытался отозвать разрешение и настройки новых учетных данных. Объем объявляется при инициализации службы является:
https://mail.google.com/
, что, как указано в документации, предоставление полный доступ к учетной записи в.
Но я все еще получаю ту же ошибку. То же самое точное ошибка по следующим запросам:
Удаление проекта - Создание проекта - Создать ярлык - Удалить сообщение
ВОПРОС:
Почему я получаю эту ошибку?
Он имеет отношение к тому же хранению значений в кеше?
Или связано с разрешением API?
Как вы получаете access_token в первую очередь? – abraham