Сообщение API Google Диска "Превышен дневной лимит для использования без аутентификации". при просмотре файлов из Salesforce

Я создал служебную учетную запись, получил файл конфигурации json и запрашиваю токен доступа, используя его. Ответ в порядке, я получаю токен. Когда я загружаю файл, используя его, все в порядке, но когда я пытаюсь просмотреть файлы из папки, он возвращает сообщение об ошибке

Превышен суточный лимит для неаутентифицированного использования. Продолжение использования требует регистрации.

Моему сервисному аккаунту нужен только доступ к собственным файлам, он не имеет доступа к файлам других пользователей. Мой код для просмотра файлов (сейчас пытаюсь отладить ответ):

public List<String> getFilesList() {
    Http http = new Http();
    HttpRequest req = new HttpRequest();
    req.setMethod('GET');
    req.setEndpoint('https://www.googleapis.com/drive/v2/files?accessToken='+accessToken');
    HttpResponse resp = http.send(req);
    System.debug(resp);
    System.debug(resp.getBody());
    return null;
}

2 ответа

Решение

Я выяснил, в чем была проблема. Я отправлял токен доступа в URL-адресе, а не в заголовке. В конце концов это я сделал это так:

public List<String> getFilesList() {
 Http http = new Http();
 HttpRequest req = new HttpRequest();
 req.setMethod('GET');
 req.setEndpoint('https://www.googleapis.com/drive/v2/files);
 req.setHeader('Authorization', 'Bearer '+accessToken);
 HttpResponse resp = http.send(req);
 return null;
}

Для ошибки превышен суточный лимит для неаутентифицированного использования. Продолжение использования требует подписи, попробуйте проверить в консоли разработчика Google в разделе API, проект, связанный с ключом API. Пример: https://console.developers.google.com/project/<your app id>/apiui/api, Убедитесь, что для Google+API установлен статус ON.

Исходя из этого вопроса SO, эта ошибка подразумевает, что вы не настроили консольный проект Google API.

  1. Создать проект консоли API Google
  2. На панели "Службы" включите все API, необходимые для вашего проекта.
  3. На панели доступа API нажмите Создать идентификатор клиента OAuth 2.0. Откроется диалоговое окно. Заполните информацию вашего проекта. Нажмите Далее
  4. Выберите подходящий тип приложения. Основываясь на тегах, которые вы использовали для этого поста, я предполагаю, что это проект iOS, поэтому выберите Установленное приложение.
  5. Введите свой идентификатор пакета. Вам не нужно вводить идентификатор App Store, пока ваше приложение не будет там указано.
  6. Нажмите Создать идентификатор клиента.

Вы увидите идентификатор клиента и секретные значения клиента. Эти значения будут использоваться для обеспечения связи с вашим проектом и API Google.

Если вы еще не используете его, ознакомьтесь с Google+ iOS SDK и документацией. Задача, называемая "моменты записи", аналогична по реализации и демонстрирует, как подключиться и использовать API REST Google+ из проекта iOS, использующего SDK.

Вам нужно будет указать область действия plus.me, чтобы получить информацию о профиле.

Надеюсь это поможет!

Другие вопросы по тегам