如何解决如何通过php中的Curl正确插入quickbase
我使用quickbase创建了具有以下3个字段的表
现在我正尝试使用quickbase通过表ID插入表中。
此处是API Curl文档
curl -X POST 'https://api.quickbase.com/v1/records' \
-H 'QB-Realm-Hostname: {QB-Realm-Hostname}' \
-H 'User-Agent: {User-Agent}' \
-H 'Authorization: {Authorization}' \
-d {}
这是示例请求
{
"to": "bck7gp3q2","data": [
{
"6": {
"value": "This is my text"
},"7": {
"value": 10
},"8": {
"value": "2019-12-18T08:00:00.000Z"
},"9": {
"value": [
"a","b"
]
},"10": {
"value": true
},"11": {
"value": "user@quickbase.com"
},"12": {
"value": "www.quickbase.com"
},"13": {
"value": [
{
"id": "123456.ab1s"
},{
"id": "254789.mkgp"
},{
"id": "789654.vc2s"
}
]
}
}
],"fieldsToReturn": [
6,7,8,9,10,11,12,13
]
}
到目前为止,这是我的努力 当我运行下面的代码时,出现以下错误
{"data":[],"Metadata":{"createdRecordIds":[],"lineErrors":{"1":["Can not find record by ID \"My First post\"."]},"totalNumberOfRecordsProcessed":1,"unchangedRecordIds":[],"updatedRecordIds":[]}}{"data":[],"updatedRecordIds":[]}}
这是我的代码
<?PHP
$access_t ="my_access_token-goes here";
$url="https://api.quickbase.com/v1/records";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
$useragent ='my-user-agent goes here';
$quicbase_domain= 'my-quickbase-domain-goes-here';
$data='
{
"to": "my-table-id-goes-here","data": [
{
"1": {
"value": "nancy more"
},"2": {
"value": "nancy@gmail.com"
},"3": {
"value": "My First post"
}
}
]
}
';
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
"QB-Realm-Hostname: quicbase_domain","User-Agent: $useragent","Authorization: QB-USER-TOKEN $access_t",'Content-Type:application/json'
));
curl_setopt($ch,CURLOPT_CUSTomrEQUEST,'POST');
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,CURLOPT_RETURNTRANSFER,true);
echo $response = curl_exec($ch);
curl_close($ch);
print_r($response);
解决方法
相同的端点用于插入和更新,而Quick Base使用包含键字段的特性来区分两者。根据我的经验,ID#3一直是“ Record ID#”字段; Quick Base会自动为每个新表创建一个字段,并将其用作默认键字段。由于您的数据数组包含字段ID#3的值,因此Quick Base会将您的请求解释为更新,该更新找不到ID为“ My First Post”的记录。还有一个问题,字段ID#3需要一个数字,但是Quick Base的错误响应不够复杂,无法给出该反馈。
我认为您的请求的问题在于您使用了错误的字段ID。 1、2和3对应于自动生成的“创建日期”,“修改日期”和“记录ID#”字段。您为表创建的字段可能始于字段ID#6。如果您进入“快速基础”并查看表的属性,那么您应该能够看到字段及其字段ID的列表(如果您没有看到“字段ID”列,则可以选择在“高级选项”中显示它) 。在您的请求中使用正确的字段ID,它应该可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。