ColdFusion和SmartSheet API

时间:2016-11-28 20:27:59

标签: json api coldfusion

我正在尝试调用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> 

但是我没有收到所需的回复:

CFDumpImage

我试图使用提供的示例来检索数据:

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"
      }
   ]
}

1 个答案:

答案 0 :(得分:1)

什么版本的CF?看起来与此问题类似:ColdFusion 9.0.1 - 3574332 CHTTP returns filecontent as java.io.ByteArrayOutputStream when mimetype is application/json。解决方法是:

  • 设置CFHTTP属性getasbinary="never"
  • 使用以下命令将返回的fileContent对象转换为字符串:

     <cfset rawJSONString = httpResp.fileContent.toString()>