Autodesk forge与php

Autodesk forge与php,php,autodesk-forge,autodesk-viewer,Php,Autodesk Forge,Autodesk Viewer,我正在用PHP启动一个autodesk forge项目,但我遇到了一个无法解决的问题。我在这个网站上做了一切,用PHP和Node.js创建了一个服务器。在node中我获得了成功,但我的朋友们希望用php实现它。 有两个错误,我解决了一个: 第一个是: HP Fatal error: Uncaught TypeError: Argument 1 passed to Dotenv\Dotenv::create() must be an instance of Dotenv\Repository\R

我正在用PHP启动一个autodesk forge项目,但我遇到了一个无法解决的问题。我在这个网站上做了一切,用PHP和Node.js创建了一个服务器。在node中我获得了成功,但我的朋友们希望用php实现它。 有两个错误,我解决了一个: 第一个是:

HP Fatal error:  Uncaught TypeError: Argument 1 passed to Dotenv\Dotenv::create() must be an instance of Dotenv\Repository\RepositoryInterface, string given, called in /Users/.../forgeExample/server/config.php on line 14 and defined in /Users/.../forgeExample/vendor/vlucas/phpdotenv/src/Dotenv.php:83
Stack trace:
#0 /Users/.../forgeExample/server/config.php(14): Dotenv\Dotenv::create('/Users/mackleym...')
#1 /Users/.../forgeExample/server/oauth.php(14): Autodesk\ForgeServices\ForgeConfig::getForgeID()
#2 /Users/.../forgeExample/server/oauth.php(49): Autodesk\ForgeServices\AuthClientTwoLegged->__construct()
#3 /Users/.../forgeExample/index.php(8): include_once('/Users/mackleym...')
#4 {main}
  thrown in /Users/.../forgeExample/vendor/vlucas/phpdotenv/src/Dotenv.php on line 83
我在
vlucas/phpdotenv
中的帮助下解决了这个问题,将
server/config.php
中的第14行更改为:
$dotenv=dotenv::create(\uu DIR)
to
$dotenv=dotenv::createImmutable(_udir_;)

服务器运行并停止加载示例,出现第二个错误: PHP致命错误:

Uncaught Autodesk\Core\Exception\RuntimeException: The client_id specified does not have access to the api product in /Users/mackleymagalhaes/development/.../forgeExample/vendor/autodesk/core/lib/Auth/TokenFetcher.php:108
Stack trace:
#0 /Users/mackleymagalhaes/development/.../forgeExample/vendor/autodesk/core/lib/Auth/TokenFetcher.php(87): Autodesk\Auth\TokenFetcher->makeRequest('https://develop...', Array)
#1 /Users/mackleymagalhaes/development/.../forgeExample/vendor/autodesk/core/lib/Auth/OAuth2/AbstractOAuth2.php(143): Autodesk\Auth\TokenFetcher->fetch('https://develop...', 'client_credenti...', Array, Array)
#2 /Users/mackleymagalhaes/development/.../forgeExample/vendor/autodesk/core/lib/Auth/OAuth2/TwoLeggedAuth.php(15): Autodesk\Auth\OAuth2\AbstractOAuth2->fetchAccessToken('authentication/...', 'client_credenti...')
#3 /Users/mackleymagalhaes/development/.../forgeExample/server/oauth.php(38): Autodesk\Auth\OAuth2\TwoLeggedAuth->fetchToken()
#4 /Users/mackleymagalhaes/developme in /Users/mackleymagalhaes/development/.../forgeExample/vendor/klein/klein/src/Klein/Klein.php on line 954
[Thu Sep  3 16:59:07 2020] [::1]:58380 [200]: GET /api/forge/oss/buckets?id=%23 - Uncaught Autodesk\Core\Exception\RuntimeException: The client_id specified does not have access to the api product in /Users/mackleymagalhaes/development/.../forgeExample/vendor/autodesk/core/lib/Auth/TokenFetcher.php:108
Stack trace:
#0 /Users/mackleymagalhaes/development/.../forgeExample/vendor/autodesk/core/lib/Auth/TokenFetcher.php(87): Autodesk\Auth\TokenFetcher->makeRequest('https://develop...', Array)
#1 /Users/.../forgeExample/vendor/autodesk/core/lib/Auth/OAuth2/AbstractOAuth2.php(143): Autodesk\Auth\TokenFetcher->fetch('https://develop...', 'client_credenti...', Array, Array)
#2 /Users/.../forgeExample/vendor/autodesk/core/lib/Auth/OAuth2/TwoLeggedAuth.php(15): Autodesk\Auth\OAuth2\AbstractOAuth2->fetchAccessToken('authentication/...', 'client_credenti...')
#3 /Users/.../forgeExample/server/oauth.php(38): Autodesk\Auth\OAuth2\TwoLeggedAuth->fetchToken()
#4 /Users/mackleymagalhaes/developme in /Users/mackleymagalhaes/development/.../forgeExample/vendor/klein/klein/src/Klein/Klein.php on line 954
有人知道这是什么吗


将我的vlucas/phpdoenv版本降级到^3.0.0后,我在控制台上出现以下错误:

[周二9月8日12:12:13 2020][404]/api/forge/oss/buckets-没有这样的文件 或目录[Tue Sep 8 09:12:14 2020]PHP Fat al错误:未捕获 Autodesk\Forge\Client\ApiException:[403]连接到API时出错 ()在 ..\forge-example2\vendor\autodesk\forge client\lib\ApiClient.php:261 S 钉迹: #0..\forge-example2\vendor\autodesk\forge client\lib\Api\AbstractApi.php(89): Autodesk\Forge\Client\ApiClient->callApi('/oss/v2/buckets',GET', 数组“”,数组“”\Autodesk\Forge…,“/oss/v2/bucket”) #1..\forge-example2\vendor\autodesk\forge-cl-ient\lib\Api\BucketsApi.php(390): Autodesk\Forge\Client\Api\AbstractApi->callApi(“/oss/v2/bucket”, '获取',数组',数组,'\Autode sk\Forge…','/oss/v2/bucket') #2..\forge-example2\vendor\autodesk\forge client\lib\Api\BucketsApi.php(330): Autodesk\Forge\Client\Api\BucketsApi->getBucketsWithH ttpInfo(空, 空,空) #3..\forge-示例2\server\oss.php(47):Autodesk\forge\Client\Api\BucketsApi->GetBucket() #4 D:\UFU\for ge-example2\index.php(26):Autodesk\ForgeS Services\DataManagement->getBucketsAndObjects() #5[第954行的..\forge-example2\vendor\klein\klein\src\klein\klein.php中的内部乐趣

[9月8日星期二09:12:14 2020][::1]:54087[200]:获取 /api/forge/oss/Bucket?id=%23-未捕获 Autodesk\Forge\Client\ApiException:[403]连接到API时出错 ()在D:\UFU\forge中- 示例2\vendor\autodesk\forge client\lib\Ap iClient.php:261堆栈 跟踪: #0..\forge-example2\vendor\autodesk\forge client\lib\Api\AbstractApi.php(89):autodesk\forge\C 客户端\ApiClient->callApi('/oss/v2/bucket',GET',Array',Array, “\Autodesk\Forge…”,“/oss/v2/bucket”) #1..\forge考试ple2\vendor\autodesk\forge client\lib\Api\BucketsApi.php(390): Autodesk\Forge\Client\Api\Abst ractApi->callApi(“/oss/v2/bucket”, “获取”、“阵列”、“阵列”、“\Autodesk\Forge…”、“/oss/v2/b uckets”) #2..\forge-example2\vendor\auto desk\forge client\lib\Api\BucketsApi.php(330): Autodesk\Forge\Client\Api\BucketsApi->getBuc-ketsWithHttpInfo(空, 空,空) #3..\forge-example2\server\oss.php(47):Autodesk\forge\Client\Api\BucketsApi->GetBucket() #4..\forge-example2\index.php(26):Aut odesk\ForgeServices\DataManagement->getBucketsAndObjects() #5[第954行D:\UFU\forge ex-ample2\vendor\klein\klein\src\klein\klein.php中的内部乐趣

[9月8日星期二09:12:14 2020][::1]:54087关闭


我遇到了同样的问题,在我的例子中,它最终导致了
vlucas/phpdotenv
依赖项的版本不匹配

#确认您有一个好的PHP版本(在我的例子中是7.3.11)
php-v
#删除编写器依赖项
rm-射频供应商
rm composer.lock
#设置生成器
php-r“复制”https://getcomposer.org/installer“,”composer setup.php')
php composer-setup.php
php-r“取消链接('composer-setup.php')
php composer.phar安装
#创建.env文件
cp server/.env.example server/.env
vim server/.env#添加您的客户端ID和客户端密码
#启动应用程序
php-S localhost:3000-t。
#现在,打开浏览器并转到http://localhost:3000/www/index.html

我已经尝试从forge的面板中生成一个新的客户端id和客户端机密。事实并非如此。对我来说不起作用。在我这样做之后,我也出现了同样的错误。在这种情况下,我们可能需要更多信息来提供帮助。您正在运行什么版本的PHP?作曲家安装了什么版本的
vlucas/phpdotenv
composer.lock我看到的版本是v3.6.7.Php版本:7.4.10,vlucas/phpdotenv是5.1.0版本
vlucas/phpdotenv
的版本可能是当时的问题。composer.json文件说我们需要版本
^3.0.0
,所以我不确定为什么您有版本
5.1.0
。好吧。我创建了一个新版本来尝试,现在我没有这个er但我得到了另一个与forge API文件相关的信息。我在帖子中补充道