0

API:关系属性

好的

我正在向 Notion 表发送信息。我遇到的问题是关系属性。

我尝试过传递姓名、传递 ID,但找不到正确的调用。有没有人有他们报告如何使用它们的示例或链接。进行查询时,该字段返回空,因此不能作为示例。

例子:

{
  "parent": {
    "type": "database_id",
    "database_id": "538dfa97-b0f3-4df6-8388-9dbd16f50ad7"
  },
  "properties": {
    "Nombre Tarea": {
      "title": [
        {
          "type": "text",
          "text": { "content": "TAREAS 1" }
        }
      ]
    },
    "Asignado": { "multi_select": [ { "name": "" } ] },
    "Origen": { "select": { "name": "Trabajo" } },
    "Cliente": { "relation": { "name": "CLM" } }
  }
}

or change 

  "Cliente": { "relation": [{ "id":"Usal-2b240920b9554e869b0a49b30d433cef"   } ]}

The answers are:

{
    "object": "error",
    "status": 400,
    "code": "validation_error",
    "message": "Cliente has a value that does not match its property type: relation."
}

{
    "object": "error",
    "status": 400,
    "code": "validation_error",
    "message": "Cliente has a value that does not match its property type: relation."
}


4

2 回答 2

0

看看这个类似的问题

概念 - 查询数据库和页面提供有限的属性

您必须为您为尝试将关系属性指向的数据库创建的应用程序授予相同的读取权限。否则,它将不知道它存在,因此它认为您提供的关系 ID 不存在。

您还需要确认该 ID 存在于另一个数据库中,我假设您已经完成了,因为您已经在示例代码中列出了该 ID。

于 2021-08-05T03:58:26.790 回答
0

您是否共享了与集成相关的数据库?将无法访问对未与集成共享的其他数据库或页面的任何引用。

像下面这样的调用将创建一个与给定数据库相关的页面,只要该页面也与集成共享。确保您的关系列只有 1 级深。如果你在关系表中调用的列依赖于其他表,此时它可能不起作用。因此,对于关系和汇总,尽可能避免使用嵌套表。

curl --location --request POST 'https://api.notion.com/v1/pages' \
--header 'Content-Type: application/json' \
--header 'Notion-Version: 2021-05-13' \
--header 'Authorization: Bearer YOUR_BOT_TOKEN' \
--data-raw '{
   "parent":{
      "database_id":"YOUR_DATABASE_ID"
   },
   "properties":{
      "YOUR_PAGE_NAME_COLUMN":{
         "title":[
            {
               "text":{
                  "content":"TestPage"
               }
            }
         ]
      },
      "YOUR_RELATION_COLUMN_NAME":{
         "relation":[
            {
               "id":"YOUR_RELATION_PAGE_ID"
            }
         ]
      }
   }
}'
于 2021-06-10T06:26:32.023 回答