通过 API 的智能表附件 - 简单 CSV

问题描述 投票:0回答:1

我正在努力使用 webmethod.IO 工作流程将 CSV 文件发送到 Smartsheet 附件。看来我错过了一些东西。谁能分享一下邮递员的收藏吗?

文件:C:emp\master.csv

HTTP POST:https://api.smartsheet.com/2.0/sheets/{SheetID}/attachments

我尝试设置文件名和路径。看起来它需要传递内存流和文件的大小。我的 CSV 文件很小,只有 20 kb。

smartsheet-api
1个回答
0
投票

我从未使用过 webmethods.io,但根据他们的 文档,它支持的唯一 添加附件 操作似乎是 将文件附加到

使用 Smartsheet API 将文件附加到行的操作是:

POST https://api.smartsheet.com/2.0/sheets/sheetId/rows/rowId/attachments

在此端点中,将

sheetId
替换为工作表的 ID,并将
rowId
替换为行的 ID。您可以使用 Smartsheet Web 应用程序确定这两个值。

  • 要查找工作表 ID:打开工作表,然后从屏幕顶部的
    Properties
    菜单中选择
    File
  • 要查找行 ID:单击该行的最左边缘(第 # 行的左侧)以选择该行,然后右键单击并从弹出菜单中选择
    Properties

您需要为此请求设置 4 个 HTTPS 标头:

Authorization: Bearer YOUR_ACCESS_TOKEN HERE
Content-Type: text/csv
Content-Disposition: attachment; filename="master.csv"
Content-Length: NUMBER_OF_CHARACTERS_IN_YOUR_CSV_FILE_HERE

在这些标头中,您需要将

YOUR_ACCESS_TOKEN HERE
替换为 API 访问令牌的值,并将
NUMBER_OF_CHARACTERS_IN_YOUR_CSV_FILE_HERE
替换为表示 csv 文件中字符数(包括所有逗号)的数值。

例如,以下是我在 Postman 中测试操作时设置的标头:

我的 csv 文件的内容很简单:

this,is,a,test
——长度为 14 个字符(我的请求中
Content-Length
标头的值)。

最后,您将请求的正文设置为文件的内容(二进制格式)。当我在 Postman 中测试此操作时,我能够为正文选择

binary
格式,然后只需通过 UI 选择我的文件 - 这样我就不必手动将文件内容转换为二进制格式 - Postman为我做的。

在 Postman 中,我按下上面屏幕截图中显示的

Select file
按钮,然后从我的机器中选择要上传的文件:

我想 webmethods.io 是一样的——也就是说,我猜你可以通过 webmethods.io 用户界面选择/上传文件。


总而言之,如果 webmethods.io 文档已过时,并且它确实实际上支持将文件附加到Sheet操作,那么一切都会与我上面描述的相同,除了会有现在

rowId
位于端点的末尾:

https://api.smartsheet.com/2.0/sheets/{sheetId}/attachments

© www.soinside.com 2019 - 2024. All rights reserved.