В среде / разработке localhost у меня возникают проблемы с получением access_token от pinterest (на основе кода авторизации) для получения идентификаторов платы и пин-кода. Pinterest возвращает код с начального «разрешить [сайт] ... нажмите ОК». Этот код затем используется в запросе post для получения access_token. Затем токен доступа сохраняется для получения выводов, плат и т. Д. Работает следующий процесс (в основном с использованием Почтальона)
Connect to Pinterest in the browser
Click "Ok"
Authentication "code" is generated (only valid for a few minutes)
Pasting the given code into the following post request URL in
Postman returns the access token.
https://api.pinterest.com/v1/oauth/token?client_id=[client_id]&client_secret=[client_secret]&grant_type=authorization_code&code=[given_code]
Однако у меня возникают трудности с получением правильного ответа от Rails. Я пытался использовать драгоценные камни rest-client и pinterest-api, но не смог их решить. Я начал изучать библиотеку net / https, которая поставляется с Rails. Из того, что я знаю, получение правильного ответа и получение значения токена доступа в Rails является нашей «застрявшей» точкой. Исходя из тестов Postman, оттуда мы сможем получить идентификаторы пин-кода и платы и т. Д.
Gems: rest-client и net / https пытались заставить ssl
Попытка с использованием RestClient:
RestClient.post 'https://api.pinterest.com/v1/oauth/token', {client_id: @client_id, client_secret: @secret_key, grant_type: 'authorization_code', code: @response_code}
Я также попытался использовать следующий синтаксис POST:
RestClient.post 'https://api.pinterest.com/v1/oauth/token', {client_id: @client_id, client_secret: @secret_key, grant_type: 'authorization_code', code: @response_code}
Попытка использования net / https:
Net::HTTP.post_form(uri, 'q' => [client_id: @client_id, client_secret: @secret_key, grant_type: 'authorization_code', code: @response_code])
Сообщения об ошибках не возвращаются, статус httpsравно 200, но ответ не содержит access_token.