Как получить список файлов с помощью Autodesk Data Management API

Я использую серверную часть Laravel на своей платформе. Мне удалось получить трехконечный токен, но когда я пытаюсь получить список концентраторов для пользователя, ответ полностью отличается от пример.

    $client = new Client(); //GuzzleHttp\Client     
    $response = $client->request('GET', 'https://developer.api.autodesk.com/project/v1/hubs', [
        'headers' => [
            'Authorization' => 'Bearer '.$obj->access_token
            'x-user-id' => $userObj->userId
        ]
    ]);

Я подтвердил, что идентификатор пользователя и токен отправлены нормально. Однако полученный мной ответ не похож на этот пример.

object(GuzzleHttp\Psr7\Response)#611 (6) {
  ["reasonPhrase":"GuzzleHttp\Psr7\Response":private]=>string(2) "OK"
  ["statusCode":"GuzzleHttp\Psr7\Response":private]=>int(200)
  ["headers":"GuzzleHttp\Psr7\Response":private]=>array(11) {
  ["Content-Type"]=>
array(1) {
  [0]=>
  string(24) "application/vnd.api+json"
}
["Date"]=>
array(1) {
  [0]=>
  string(29) "Tue, 26 Mar 2019 19:55:02 GMT"
}
["Referrer-Policy"]=>
array(1) {
  [0]=>
  string(24) "origin-when-cross-origin"
}
["Server"]=>
array(1) {
  [0]=>
  string(8) "forge-dm"
}
["Strict-Transport-Security"]=>
array(1) {
  [0]=>
  string(35) "max-age=31536000; includeSubDomains"
}
["X-Content-Type-Options"]=>
array(1) {
  [0]=>
  string(7) "nosniff"
}
["X-Frame-Options"]=>
array(1) {
  [0]=>
  string(4) "DENY"
}
["X-Request-Id"]=>
array(1) {
  [0]=>
  string(36) "b747247f-b93b-4557-ae11-821b76fc8bba"
}
["X-XSS-Protection"]=>
array(1) {
  [0]=>
  string(13) "1; mode=block"
}
["Content-Length"]=>
array(1) {
  [0]=>
  string(4) "1087"
}
["Connection"]=>
array(1) {
  [0]=>
  string(10) "keep-alive"
}
}

["headerNames":"GuzzleHttp\Psr7\Response":private]=>array(11) {
["content-type"]=>string(12) "Content-Type"
["date"]=>string(4) "Date"
["referrer-policy"]=>string(15) "Referrer-Policy"
["server"]=>string(6) "Server"
["strict-transport-security"]=>string(25) "Strict-Transport-Security"
["x-content-type-options"]=>string(22) "X-Content-Type-Options"
["x-frame-options"]=>string(15) "X-Frame-Options"
["x-request-id"]=>string(12) "X-Request-Id"
["x-xss-protection"]=>string(16) "X-XSS-Protection"
["content-length"]=>string(14) "Content-Length"
["connection"]=>string(10) "Connection"
}
  ["protocol":"GuzzleHttp\Psr7\Response":private]=>string(3) "1.1"
  ["stream":"GuzzleHttp\Psr7\Response":private]=>object(GuzzleHttp\Psr7\Stream)#635 (7) {
["stream":"GuzzleHttp\Psr7\Stream":private]=>
resource(47) of type (stream)
["size":"GuzzleHttp\Psr7\Stream":private]=>
NULL
["seekable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["readable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["writable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["uri":"GuzzleHttp\Psr7\Stream":private]=>
string(10) "php://temp"
["customMetadata":"GuzzleHttp\Psr7\Stream":private]=>
array(0) {
    }
  }
}

person Joshua Foxworth    schedule 26.03.2019    source источник


Ответы (1)


Ответ отличается, поскольку вы используете x-user-id в своем заголовке, и для этого должен использоваться двухногий токен, а не трехногий, как указано в документации (поскольку у вас уже есть конкретный пользователь, которому вы хотите получить данные. из).

x-user-id ----- В контексте двусторонней аутентификации приложение имеет доступ ко всем пользователям, указанным администратором в пользовательском интерфейсе интеграции SaaS. Предоставляя этот заголовок, вызов API будет ограничен действовать от имени только указанного пользователя.

Это даст вам только проекты для среды BIM 360 без идентификатора для разности типов проектов. У вас уже настроена интеграция?

Я предлагаю: - 3 Legged token - GET Hubs только с токеном в вашем заголовке

должен дать вам ответ, аналогичный приведенному в примере. Если данные, которые вы ищете, взяты из BIM 360, вам необходимо убедиться, что в вашей учетной записи включена настраиваемая интеграция.

person Jaime Rosales    schedule 26.03.2019
comment
Я попробовал без идентификатора пользователя и получил тот же ответ. Если это не способ получения списка файлов для учетной записи Fusion 360, как это сделать? - person Joshua Foxworth; 27.03.2019
comment
Двойная проверка с командой, но я совершенно уверен, что использование двухстороннего токена с олицетворением пользователя (заголовок x-user-id) доступно только для BIM 360 Docs. Для Fusion Team и A360 вам понадобится трехсторонний токен - person Adam Nagy; 28.03.2019