Как получить токен с Basecamp3 API после OAuth 2? - PullRequest
0 голосов
/ 27 марта 2019

Я создаю приложение Javascript с использованием Basecamp3 API с аутентификацией OAuth2 . Я начал с регистрации моего приложения на https://launchpad.37signals.com/integrations, чтобы предоставить свой redirect_uri и получить client_id & client_secret для настройки своей библиотеки OAuth 2.

Кажется, все работает, когда я запускаю свое приложение. Я могу получить логин Basecamp и предоставить доступ к моим данным Basecamp 3.

Basecamp3_autorization

Однако, когда настройка завершена, окно закрывается, и у меня нет доступа к моему приложению.

Я проверил журнал и увидел ошибку 400:

error: 2019-03-27 02:59:55.5955 Error when requesting api key StatusCodeError: 400 - {"timestamp":1553716795279,"status":400,"error":"Bad Request","message":"Bad request","path":"/thirdparty/proxy/oauth2/requestTokens/"}

Похоже, я не могу получить токен, поэтому я изменил фактическую ссылку https://launchpad.37signals.com/authorization/token на https://launchpad.37signals.com/authorization/token?type=web_server, как я сделал для первой ссылки для авторизации (объяснил здесь )

Но я все еще получаю ошибку, но ошибка 500:

error: 2019-03-27 02:56:16.5616 Error when requesting api key StatusCodeError: 500 - {"apierror":{"status":"INTERNAL_SERVER_ERROR","timestamp":"27-03-2019 07:56:16","message":"Unexpected error","debugMessage":"could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement","errors":null}}

Я даже пытался изменить протокол https на http. Я все еще получаю ошибку 500:

error: 2019-03-27 03:05:15.515 Error when requesting api key StatusCodeError: 500 - {"timestamp":1553717115170,"status":500,"error":"Internal Server Error","message":"Error requesting from http://launchpad.37signals.com/authorization/token?client_id=1111111111111111111111111&client_secret=22222222222222222222222&code=abcdef&redirect_uri=http%3A%2F%2Flocalhost%2Foauth%2Fredirect&grant_type=authorization_code; got HTTP response HTTP/1.1 307 Temporary Redirect","path":"/thirdparty/proxy/oauth2/requestTokens/"}

Я пытался изменить мой запрос разными способами, он не работает.

Я пытался получить токен с Почтальоном (так же, как я пытаюсь сделать с моим приложением), и я не могу.

Знаете ли вы, откуда эта ошибка?

1 Ответ

0 голосов
/ 01 апреля 2019

Я нашел решение. Проблема возникла из-за того, что я использовал curl в командной строке для создания запроса POST. Я помещаю элементы в URL вместо использования опции --data.

...