python - 如何使用 Asana 的外部数据功能存储复杂的元数据
问题描述
背景
我的组织使用 Asana 平台来协调我们的工作。我一直在利用 Asana 的 API 来自动化我们的许多日常操作,并将 Asana 的平台与我们使用的其他外部服务集成。我使用 python 和 requests 库与 Asana 的 API 进行交互,以发出 GET、POST 和 PUT 请求。
很多时候,我需要在 Asana 中获取或发布特定任务,我通常可以使用 Asana 自动生成的任务 ID 来实现。
result = requests.get("https://app.asana.com/api/1.0/tasks/task_id", headers)
但是,有时通过存储在其中的特定信息来识别任务对我很有用。通过将相关的特定信息存储在任务的元数据中,我已经能够成功地做到这一点,Asana 将其称为“外部数据”。
result = requests.get("https://app.asana.com/api/1.0/tasks/external_id", headers)
这两种方法都对我有用。但是,我在将特定数据存储在任务的外部数据中时遇到了问题,我在下面的部分中对此进行了概述。
问题
目前,当我将元数据存储在任务外部数据中时,我的 PUT/POST 请求如下:
header = {
"Authorization" : "Bearer " + AUTH_TOKEN
}
data = {
"data" : {
"name" : "Burgers",
"external" : {
"id" : "external_id",
"data" : "data_value"
}
}
}
url = "https://app.asana.com/api/1.0/tasks/task_id"
result = requests.put(url, headers=header, json=data)
return result
这里要注意的重要一点是“data_value”是一个字符串。然而,根据 Asana 的文档here,“data_value”实际上可以存储键和值的字典。我试图通过执行以下操作来传递字典对象:
data = {
"data" : {
"name" : "Burgers",
"external" : {
"id" : "external_id",
"data" : {
"data_value" : "some_data",
"data_value_2" : "some_data"
}
}
}
}
但我继续收到一条错误消息:
"{"errors":[{"message":"external: data: Value is not a string: [object Object]","help":"有关 API 状态代码以及如何处理它们的更多信息,请阅读文档关于错误:https ://asana.com/developers/documentation/getting-started/errors "}]}"
有什么想法我哪里出错了吗?有没有人在这方面取得成功?
解决方案
推荐阅读
- c# - SSL 证书错误:ssl.ca.location 失败
- magento - Magento 2 (v2.3) - 购物车页面 - 是否可以在自定义模块插件中获取 mage-cache-storage 存储的运费?
- windows - databricks-connect 在 Windows 上不起作用
- python - 根据来自多个其他表的数据动态生成 SQL Insert Rows 数据
- python - 如何使用 Python 在 Keras 中为 ANN 绘制 10 倍交叉验证的 ROC 曲线?
- python-3.x - 基于数据框的另一列修改列的优化方法
- python - 如何使用 conda 将语句包更新到最新版本?
- c# - 从 Microsoft bot framework composer 获取 Active Dialog
- java - 在 Linux 服务器上随机生成大小约为 100gb 的 Zip 文件
- html - 需要帮助为什么背景图像不显示在 div 上?