Подключиться к удаленному API с помощью ColdFusion cfhttp

Я пытаюсь подключиться к emma api с помощью ColdFusion. Используя приведенный ниже код. Попытка получить список всех участников учетной записи в соответствии с документами api, выполняющими нижеприведенное. Я продолжаю получать код статуса 404 при звонке ниже. Любые идеи о том, что мне здесь не хватает?

<cfset account_id= '123'/>
<cfset public_key = 'abc'/>
<cfset private_key = 'xyz' /> 
<cfset the_url = 'https://app.e2ma.net/#account_id#/members/' />

<cfhttp url="#the_url#" method="get" result="Results" timeout="999">
      <cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />
      <cfhttpparam type="header" name="Accept" value="application/json"  />
      <cfhttpparam type="header" name="public_api_key" value="#public_key#" >
      <cfhttpparam type="header" name="private_api_key" value="#private_key#" >
</cfhttp>
<cfdump var="#Results#"/> 

Вот результаты cfdump:

cfdump переменной результатов


person user747291    schedule 30.08.2017    source источник
comment
Попробуйте это без косой черты на членах. Также убедитесь, что используемый account_id действителен. Их документация немного сбивает с толку, как они используют #, поскольку он действителен в URL-адресе, однако запрос, который вы пытаетесь сделать, отображается без косой черты в конце (GET /#account_id/members)   -  person Charles    schedule 30.08.2017
comment
Пробовал без косой черты, все то же самое. Также я думаю, что у меня правильный URL   -  person user747291    schedule 30.08.2017
comment
Я думаю, что открытый и закрытый ключ api необходимо отправлять в виде заголовка, а не полей формы. helpx.adobe.com/coldfusion/cfml- ссылка / coldfusion-tags /   -  person Randy Johnson    schedule 30.08.2017
comment
Если вы посмотрите на их главную страницу, у них есть несколько примеров. Это PHP, но они используют api.e2ma.net вместо app.e2ma.net. Вот их пример: $url = "https://api.e2ma.net/".$account_id."/members/add";.   -  person Charles    schedule 30.08.2017
comment
Да, лол, использование правильного URL-адреса определенно поможет. Я пропустил это с первого взгляда. Теперь вы сможете использовать заголовок для выполнения базовой аутентификации.   -  person Randy Johnson    schedule 30.08.2017
comment
да, лол, у меня тоже как-то было приложение. Мне удалось подключиться отлично, спасибо всем!   -  person user747291    schedule 30.08.2017
comment
@ user747291 Я обновил свой ранее удаленный ответ (я отказался от побега # из-за его документации). Новый ответ обновлен с учетом сделанных комментариев.   -  person Charles    schedule 30.08.2017


Ответы (1)


Похоже, вы используете неправильную конечную точку. В своей документации они говорят следующее:

Конечная точка для всех наших вызовов API - https://api.e2ma.net/.

В вашем коде вы используете app.e2ma.net, вместо этого должно быть api.e2ma.net.

Кроме того, путь к запрашиваемому URL-адресу не включает в себя завершающую косую черту в их документации (GET /#account_id/members - это то, что у них есть). Вы также можете обновить это.

person Charles    schedule 30.08.2017
comment
Мой голос поставил вашу репутацию выше 1000. Вы должны мне пиво. - person Dan Bracuk; 30.08.2017