Как получить список файлов с помощью Autodesk Data Management API - PullRequest
0 голосов
/ 26 марта 2019

Я использую бэкэнд 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) {
    }
  }
}

1 Ответ

0 голосов
/ 27 марта 2019

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

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

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

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

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

...