我正在尝试调用smartsheet.com api并从列表表请求中读取JSON数据。我是API的新手,所以我确定我的代码很缺少。
这是我到目前为止所做的:
<cfscript>
apiURL = "https://api.smartsheet.com/2.0/sheets";
apiToken = "xxxxxxxxxxxxxxxxxxxxxxxxx";
</cfscript>
<cfhttp url="#apiURL#" method="GET" result="httpResp" timeout="120" charset="utf-8">
<cfhttpparam type="header" name="Authorization" value="Bearer #apiToken#" />
</cfhttp>
但是我没有收到所需的回复:
我试图使用提供的示例来检索数据:
SmartSheet API 2.0 示例请求:
curl https://api.smartsheet.com/2.0/sheets -H "Authorization: Bearer ACCESS_TOKEN"
响应示例:
{
"pageNumber":1,
"pageSize":100,
"totalPages":1,
"totalCount":2,
"data":[
{
"accessLevel":"OWNER",
"id":4583173393803140,
"name":"sheet 1",
"createdAt":"2015-06-05T20:05:29Z",
"modifiedAt":"2015-06-05T20:05:43Z"
},
{
"accessLevel":"OWNER",
"id":2331373580117892,
"name":"sheet 2",
"createdAt":"2015-06-05T20:05:29Z",
"modifiedAt":"2015-06-05T20:05:43Z"
}
]
}
答案 0 :(得分:1)
什么版本的CF?看起来与此问题类似:ColdFusion 9.0.1 - 3574332 CHTTP returns filecontent as java.io.ByteArrayOutputStream when mimetype is application/json。解决方法是:
getasbinary="never"
或使用以下命令将返回的fileContent
对象转换为字符串:
<cfset rawJSONString = httpResp.fileContent.toString()>