Не могу получить код авторизации на сайте box.com

Я пытаюсь получить токен аутентификации по инструкции: http://developers.box.com/oauth/ Отправить GET запрос: https://api.box.com/oauth2/authorize?response_type=code&client_id=MY_CLIENT_ID&state=authenticated&redirect_uri=MYURL. Введите логин / пароль и нажмите «Разрешить», но не получите никакого кода авторизации. Вместо этого откройте просто страницу box.com.

Если я нажму «Запретить», тогда хорошо, я вижу открытый URL с ошибкой access_denied. Я пробую эти действия из браузера.

Почему я не получаю код после входа в систему?


person Yura Shinkarev    schedule 20.12.2012    source источник
comment
Это начало происходить и со мной. Вчера днем ​​он работал нормально.   -  person John Hoerr    schedule 21.12.2012
comment
Джон Хёрр, но что изменилось с вашей стороны?   -  person Yura Shinkarev    schedule 21.12.2012
comment
Насколько я могу судить, ничего.   -  person John Hoerr    schedule 21.12.2012
comment
Вы перенаправляетесь на URI HTTPS?   -  person seanrose    schedule 22.12.2012
comment
seanrose, ты лучше всех :) Работал с https. Жаль только, что я не знаю, что нужно делать для не веб-приложений. Для андроида, например. Из окна документа не ясно, что мы можем использовать в этом случае для response_type / redirect_uri   -  person Yura Shinkarev    schedule 22.12.2012
comment
Мы также поддерживаем индивидуальные схемы URL, например что-то вроде spotify: // someaddress. Это то, что делает iOS, в Android то же самое? Приносим извинения, если это не ясно в документе, мы работаем над этим. (вот что делает iOS developer.apple .com / library / ios / # documentation / iphone /).   -  person seanrose    schedule 23.12.2012
comment
seanrose, redirect_uri не проблема, потому что мы можем использовать любой https-адрес, в любом случае мы получаем URL-адрес перенаправления со значением кода.   -  person Yura Shinkarev    schedule 23.12.2012
comment
Но я получаю следующую ошибку. Я пытаюсь получить токен доступа по статье Получение токена доступа. Установите все параметры. Попробуйте два разных способа: 1) POST-запрос с коротким URL: api.box.com/oauth2/token с параметрами multipart entity; 2) POST-запрос: pastebin.com/026RH8ZE. Идентификатор / секрет клиента, который я получаю из меню «Редактировать коробочное приложение» - ›Параметры OAuth2.   -  person Yura Shinkarev    schedule 23.12.2012
comment
В обоих случаях я получаю {error: invalid_request, error_description: Invalid grant_type parameter or parameter missing}. Я пытаюсь отправить запрос без параметра grant_type, получаю страницу ошибки http: Ошибка страницы. Срок действия просматриваемой страницы истек. Вернитесь назад и повторите свой запрос.   -  person Yura Shinkarev    schedule 23.12.2012
comment
Виноват. Все работало нормально (случай 1). Но интересовало другое: даты в запросе использовал ISO 8601. Но см. В json значение 2012-12-12T11: 15: 04-08: 00. Что последнее:? Думаю, правильное значение - 2012-12-12T11: 15: 04-0800, нет?   -  person Yura Shinkarev    schedule 24.12.2012
comment
Другой вопрос. Попробуйте загрузить файл с помощью документа. Получить ошибку: {"type":"error","status":404,"code":"not_found","help_url":"http:\/\/developers.box.com\/docs\/#errors","message":{"folder_id":null},"request_id":"...."}. Измените параметр parent_id на folder_id, начинает работать правильно.   -  person Yura Shinkarev    schedule 25.12.2012


Ответы (1)


Я обошел это, создав отдельную страницу, на которой пользователь может войти в систему с помощью поля, хотя я сомневаюсь, что это лучший способ решить проблему. Совет от Шона Роуза, очевидно, будет вашим лучшим выбором. Вот что я сделал, чтобы получить код:

Пользователь посещает [https] mysite.com/login_with_box для авторизации доступа. После того, как пользователь нажимает «Разрешить», он перенаправляется на [https] mysite.com/redirect_uri, URL-адрес которого, очевидно, совпадает с тем, что вы указали в качестве redirect_uri вашего приложения. После перенаправления пользователь должен увидеть код в [https] mysite.com/redirect_uri?code=xxxxxxxxxxxxxxxxxx

Мне пришлось использовать [https] вместо https: //, потому что я здесь новый пользователь.

person mcormc    schedule 04.01.2013