去神秘化Smartsheet API中的查询参数
发表在2019年2月06
准备好学习一些对Smartsheet API集成有重大影响的简单知识了吗?停止解析巨大的有效负载,开始告诉API查询字符串参数到底需要什么。
当URL包含?
,后面的一切都是查询字符串。查询字符串可以传递修改API行为的参数。在使用查询字符串参数时,有两个有用的提示:
- 多个参数必须用&号分隔。
- 有多个参数的参数用逗号分隔。
Smartsheet API使用查询字符串参数包括或排除某些数据、控制分页和修改API的默认行为。
在内容API文档,每个支持附加参数的端点都有一个参数部分描述支持的查询字符串参数。
让我们从一个例子开始得到表要求:/床单/ 123456789 ?包括=attachments,discussions&pageSize=30
该请求正在使用包括
参数,以便响应将包括所有附件和讨论。请求也使用页大小
参数,以便只返回工作表的前30行。
除了处理原始API请求外,查询字符串参数还可以通过Smartsheet SDK返回。每一个都支持查询字符串参数(尽管实现可能不同)。
详情请参阅查询字符串部分,并在编码示例侧栏中选择首选编程语言的选项卡以查看示例。整个API文档中的其他代码示例也可能包含查询参数的示例使用。
注意,文档主要关注REST和JSON。如果文档中的端点有一个参数列表,则查询字符串参数的实际实现可能不同,以符合相应的编程语言。像命名、大小写模式和参数的传递方式在每个SDK之间可能是不同的。
升C
在c# SDK中,包含和排除数据的查询字符串参数是使用对象设置的。
列列=内容.Sheet欧宝体育app官方888Resources.Column欧宝体育app官方888Resources.GetColumn(923173393803140,/ /长sheetId782142855221832,/ /长columnId新ColumnInclusion[]{ColumnInclusion.过滤器})
方法实现分页PaginationParameters
对象,该对象接受附加参数。
PaginatedResult<表>表=内容.Sheet欧宝体育app官方888Resources.ListSheets(新SheetInclusion[]{SheetInclusion.源},新PaginationParameters(真正的,/ / includeAll零,/ / int页大小零)/ / int页面);
如果您需要使用查询字符串参数,并且在我们的API文档中找不到该对象的名称,那么自行生成c# SDK文档可以成为有用的资源。
Java
在Java SDK中,查询字符串参数被实现为包含和排除的枚举。
表结果=内容.sheet欧宝体育app官方888Resources().createSheetFromTemplate(表,于.的(SheetTemplateInclusion.附件,SheetTemplateInclusion.数据,SheetTemplateInclusion.讨论));
但是,分页实现为PaginationParameters
对象。
//指定分页参数'includeAll'PaginationParameters page_params=新PaginationParameters().setIncludeAll(真正的);//指定include参数EnumSet include_params=于.的(SourceInclusion.源);//列出有分页和包含参数的表PagedResult<表>表=内容.sheet欧宝体育app官方888Resources().listSheets(include_params,page_params,零);
每个端点的参数部分(在API文档中)是你最好的资源,但是自生成的Java SDK文档也很有帮助。
node . js
查询字符串参数的Node实现非常简单。
/ /设置选项var选项={queryParameters:{包括:“附件”,包括:“源”,includeAll:真正的}};/ /表列表内容.表.listSheets(选项).然后(函数(响应){控制台.日志(响应);}).抓(函数(错误){控制台.日志(错误);});
属性中定义queryParameters
对象,包装在选项
对象,并传递到SDK的方法。
Ruby
查询字符串参数的Ruby实现与Node非常相似。两者都使用与API文档中列出的相同的属性。
响应=内容.表.列表(参数个数:{包括:“附件,源”,includeAll:真})表=响应
Ruby SDK的方法接受参数个数
对象,它具有包含、排除和分页行为的属性。
Python
在Python SDK中,查询字符串参数是通过将附加参数传递到SDK中内置的方法来定义的。
#包含讨论、附件、列和columnType行=ss_client.表.get_row(4583173393803140,# sheet_id2361756178769796,# row_id包括=的讨论,附件、列columnType)
分页、包含和排除都使用相同的机制。
响应=ss_client.细胞.get_cell_history(9283173393803140,# sheet_id0123456789012345,# row_id4567890123456789,# column_id页大小=5,页面=1)页面=响应.total_pages修正=响应.数据
实用地使用查询字符串参数可以显著提高使用Smartsheet API进行构建的能力。查询字符串参数可以帮助你包含默认API响应之外的信息,或者更好地控制你返回的API响应(即大小,结果的数量)。查询字符串参数可以在与Smartsheet API交互时直接使用,但也可以在每个Smartsheet sdk中实现。