php Hubspot API CSV导入请求的正确示例是什么?

mfuanj7w  于 2023-06-04  发布在  PHP
关注(0)|答案(1)|浏览(109)

我正在尝试使用Import API导入一些联系人。
我使用的是他们的Sample CSV file的一个过于简化的版本,看起来像这样:
| 联系我们|最后的名字|电子邮件地址|
| - -----|- -----|- -----|
| 洛雷莱|吉尔摩|lorelai@thedragonfly.com|
| 莱斯利|克诺普|leslie@pawneeparks.com|
| 埃莉诺|谢尔斯特罗普|eleanor@thegoodplace.com|
我尝试了几种使用Postman或Guzzle的请求变体(我的实现是用PHP编写的)。每次我得到一个400错误:POST https://api.hubapi.com/crm/v3/imports/ resulted in a 400 Bad Request response
以下是请求的简化版本:

<?php
$client = new Client();
$headers = [
  'Content-Type' => 'multipart/form-data',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer xxx-xxx-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
];
$options = [
  'multipart' => [
    [
      'name' => 'files',
      'contents' => Utils::tryFopen('/path/to/file/HubSpot example - Contacts import file.csv', 'r'),
      'filename' => '/path/to/file/HubSpot example - Contacts import file.csv'
    ],
    [
      'name' => 'importRequest',
      'contents' => '{"name":"customers_import","files":[{"fileName":"/path/to/file/HubSpot example - Contacts import file.csv","fileFormat":"CSV","fileImportPage":{"hasHeader":true,"columnMappings":[{"ignored":false,"columnName":"First Name","idColumnType":null,"propertyName":"firstname","columnObjectType":"CONTACT"},{"ignored":false,"columnName":"Last Name","idColumnType":null,"propertyName":"lastname","columnObjectType":"CONTACT"},{"ignored":false,"columnName":"Email Address","idColumnType":null,"propertyName":"email","columnObjectType":"CONTACT"}]}}]}'
    ]
]];
$request = new Request('POST', 'https://api.hubapi.com/crm/v3/imports/', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();

其他我尝试过的东西:

  • columnObjectType更改为columnObjectTypeId:0-1
  • 仔细检查了授权令牌和所需的权限,一切都应该很好(我在没有正确权限的情况下得到401)。
  • 已检查该文件在不使用Postman时是否可由PHP脚本访问和读取。
  • 各种不同的接头。
  • 正在尝试从Excel文件导入数据。
  • 将上面提到的其余参数添加到importRequest(似乎没有什么区别):
//...
"importOperations" => [
     "0-1" => "CREATE"
],
"dateFormat" => "DAY_MONTH_YEAR",
"marketableContactImport" => true,
//...

我正在寻找一个简单的样品要求,只是工作。

laik7k3q

laik7k3q1#

问题是importRequest JSON内容中的fileName属性。该值不应包括路径。

相关问题