我有一个关于向sendgrid发送Web API调用的问题:
以下文档用于检索高级统计信息:
http://sendgrid.com/docs/API_Reference/Web_API/Statistics/statistics_advanced.html
在“通话”部分,提到了以下内容:
POST https://api.sendgrid.com/api/stats.getAdvanced.json
POST Data api_user=your_sendgrid_username&api_key=your_sendgrid_password&start_date=2013-01-01&end_date=2013-01-02&data_type=global
我知道我需要使用cfhttp进行Web API调用,我应该这样做
在url参数中提到"https://api.sendgrid.com/api/stats.getAdvanced.json"
cfhttp
标签。
我需要在哪里提及api_user和api_key部分?我明白我会的 在这里提一下我的sendgrid的帐户用户名和密码。
对于解释目的,让我们考虑以下虚拟值:
api_user = stack
api_key = 123456
请告诉我。我正在尝试发送API调用以JSON格式获取数据。
由于
ATTEMPT#1
我使用以下代码:
<cfhttp url="https://api.sendgrid.com/api/stats.getAdvanced.json" method="POST" result="returnStruct">
<cfhttpparam name="api_user" value="stack" type="formfield">
<cfhttpparam name="api_key" value="123456" type="formfield">
<!--- <cfhttpparam name="days" value="5" type="formfield"> --->
<cfhttpparam name="start_date" value="2013-12-06" type="formfield">
<!--- <cfhttpparam name="end_date" value="2013-12-09" type="formfield"> --->
</cfhttp>
<cfdump var="#returnStruct#">
我以结构的形式收到以下错误。我上面做错了吗?请检查下面的代码。
Charset [empty string]
ErrorDetail [empty string]
Filecontent {"error": "error in data_type: data_type is required"}
Header HTTP/1.1 400 Bad Request Content-Type: text/html Connection: close Date: Tue, 10 Dec 2013 06:21:19 GMT Server: nginx/1.4.2
Mimetype text/html
Responseheader
struct
Connection close
Content-Type text/html
Date Tue, 10 Dec 2013 06:21:19 GMT
Explanation Bad Request
Http_Version HTTP/1.1
Server nginx/1.4.2
Status_Code 400
Statuscode 400 Bad Request
Text YES
我很想知道,它指的是data_type
,因为文档没有谈到它。
答案 0 :(得分:1)
通常,您会为每个键使用<cfhttpparam>
:
<cfhttp url="https://api.sendgrid.com/api/stats.getAdvanced.json" method="POST">
<cfhttpparam name="api_user" value="some_username_goes_here" type="formfield">
<cfhttpparam name="api_key" value="some_api_key_goes_here" type="formfield">
...more params...
</cfhttp>