2016-04-27 3 views
1

Мне был предоставлен URL-адрес, который должен возвращать некоторые данные JSON, который содержит токен OAuth для доступа к остальной части API. Вызов API использует GET и содержит имя пользователя и пароль в URL-адресе.Использовать SOAP API, который возвращает данные JSON с использованием ColdFusion

При попытке доступа к URL в API, я получаю следующее сообщение:

error unauthorized 
error_description An Authentication object was not found in the SecurityContext 

Ниже приведен пример моего ColdFusion:

<CFHTTP URL="https://test-ows01.website.com/data_api//1.0/oauth/token?grant_type=password&username=HelloWorld&password=MyPassword!" method="GET" result="result"> 
</CFHTTP> 

<cfset content = deserializeJSON(result.filecontent.toString())> 

<cfdump var="#content#"> 

Дополнительная информация: Когда я удалите URL-адрес (это не правильный URL-адрес для этих вопросов) в браузер. Я получаю приглашение «Вход в систему» ​​и после ввода имени пользователя: HelloWorld a и пароль: MyPassword! Затем меня переводят на страницу, на которой показаны данные JSON, содержащие токены oAuth среди других данных.

Мне был предоставлен файл SOAPUI, так что рассмотрите, как работает API, поэтому, если есть какая-то другая информация, которую я должен предоставить, я смогу вытащить ее оттуда.

+1

Если мой вопрос будет отклонен, пожалуйста, оставьте комментарий с тем, что я забыл, или что-то еще было причиной пониженного голосования. Спасибо. – Denoteone

+1

Я не вижу конверт мыла, отправляемый по URL-адресу, поэтому вы не можете работать с конечной точкой мыла веб-службы. Учитывая приглашение для входа в систему, для запроса может потребоваться также базовая аутентификация. – Twillen

+1

* может потребоваться также базовая аутентификация * ... т.е. вместо того, чтобы передавать имя пользователя и пароль в качестве параметров URL, попробуйте использовать атрибуты «имя пользователя» и «пароль» cfhttp. – Leigh

ответ

2

Сервер, на который требуется подключение, требует аутентификационных данных во время запроса. Добавьте имя пользователя и пароль в тег cfhttp, чтобы отправить учетные данные в запросе.

<cfhttp url="example.com/data_api//1.0/oauth/token?grant_type=password" method="GET" result="result" 
    username="HelloWorld" password="MyPassword!"> 
</cfhttp> 
+0

Спасибо, что именно я искал. +1 Проверено. – Denoteone

Смежные вопросы