Smart Sheet API 2.0 - код ошибки 1004 при доступе к пользователю / мне - PullRequest
2 голосов
/ 27 мая 2020

Новое в SmartSheet API. Я попытался использовать пример в документе API для доступа к API с помощью моего токена доступа

curl -s https://api.smartsheet.com/2.0/users/me -H "Authorization: Bearer some-token"

Я получил код ошибки 1004.

{
  "errorCode" : 1004,
  "message" : "You are not authorized to perform this action.",
  "refId" : "1qtv5vlwgoxn4"
}

Как устранить эту ошибку?

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Я только что нашел ответ на свой вопрос. Оказывается, в заголовке авторизации требуется слово Bearer. Необходимо заменить только токен доступа на сгенерированный токен из https://smartsheet-platform.github.io/api-docs/#raw -token-requests .

Спасибо, Ким, за вашу помощь.

1 голос
/ 27 мая 2020

Изменили ли вы значение токена при размещении здесь, или опубликованная вами команда curl - это именно то, что вы отправляете? Токен, который вы разместили в приведенной выше команде curl, кажется недействительным - если я отправлю ту же команду curl, которую вы включили в свое сообщение, я получаю сообщение об ошибке 1002 ( Ваш доступ Токен недействителен. ).

curl -s https://api.smartsheet.com/2.0/users/me -H "Authorization: Bearer ll352u9jujauoqz4gstvsae05"

{
  "errorCode" : 1002,
  "message" : "Your Access Token is invalid.",
  "refId" : "q7ee6vxts37o"
}

Я бы посоветовал вам сделать следующее:

  1. Используя в пользовательском интерфейсе Smartsheet отмените токен, на который вы ссылаетесь в команде curl в своем сообщении. Кроме того, к сведению - вы никогда не должны делиться своим токеном на форуме publi c (например, размещать здесь, в Stack Overflow или где-либо еще, где его увидят другие) - b / c любой может использовать ваш токен через API для читать / редактировать / удалять любые данные Smartsheet, к которым у вас есть доступ.

  2. Создайте новый токен и попробуйте команду curl еще раз, используя новый токен. Если я скопирую / вставлю вашу точную команду curl, но использую свой токен вместо того, который указан в вашем сообщении, он успешно вернет запрошенную информацию - так что ваша команда curl действительна в том виде, в котором она в настоящее время структурирована, просто значение вашего токена кажется недействительно.

РЕДАКТИРОВАТЬ

Перечитывая ваше сообщение, теперь я понимаю, что токен в вашем сообщении - это тот, который используется в примере в документации API . Это недействительный токен доступа. Вам нужно будет создать свой собственный токен доступа к API (через пользовательский интерфейс Smartsheet, как описано здесь: https://smartsheet-platform.github.io/api-docs/#raw -token-requests ), а затем использовать этот токен в своем запросе curl.

...