Smartsheet 发送电子邮件失败 API

Smartsheet Send Email Failed by API

我正在尝试按照 API 文档并使用我的 sheet 发送电子邮件。

代码如下:

email = smartsheet.models.MultiRowEmail()
email.send_to = smartsheet.models.Recipient({
  'email': 'testtest@gmail.com'
})

email.row_ids=[rowId]
email.column_ids = [columnID]

# Send rows via email
response = smartsheet_client.Sheets.send_rows(
  sheet_id,       # sheet_id
  email)

它一直在下面给我错误信息,

{"response": {"statusCode": 400, "reason": "Bad Request", "content": {"errorCode": 1012, "message": "Required object attribute(s) are missing from your request: multipleRowsEmail.rowIds[], multipleRowsEmail.includeAttachments, multipleRowsEmail.includeDiscussions.", "refId": "lvre2gkxtm8m"}}}

请指教,谢谢

部分问题是您还需要在 email 对象上指定 include_attachments 属性 和 include_discussions 属性。这些属性是必需的。 (作为旁注,我注意到 API 文档中的 Python code snippet for Send Rows via Email 错误地忽略了这两个属性......希望 Smartsheet 的人看到这个线程并可以在文档中解决这个问题。)

不确定为什么错误消息指示请求中缺少行 ID,因为看起来您正在填充行 ID。我建议您进行调查以确保您的 [rowId] 属性(您用于在请求中设置 email.row_ids 的值)实际上 行 ID 的填充数组。

以下代码示例成功发送了一封包含指定的 4 行 2 列数据的电子邮件:

# specify IDs
sheet_id = 3932034054809476
row_ids = [4324392993613700, 5225480965908356, 657918269646724, 721881338537860]
column_ids = [6101753539127172, 4055216160040836]

# build email object
email = smartsheet.models.MultiRowEmail()
email.send_to = smartsheet.models.Recipient({
    'email': 'testtest@gmail.com'
})
email.row_ids = row_ids
email.column_ids = column_ids
email.include_attachments = False
email.include_discussions = False

# send rows via email
response = smartsheet_client.Sheets.send_rows(
    sheet_id,
    email)