php - 尝试使用 QuickBooks Online PHP SDK 时遇到错误
问题描述
我尝试运行示例,但此错误不断出现:
PHP 致命错误:第 17 行 /home/sample/public_html/temp/test/quickbook/QuickBooks-V3-PHP-SDK-6.0.0/src/Core/CoreConstants.php 中的类常量中不允许使用数组。
我下载了源代码并正在运行他们的示例。
有没有办法解决这个错误?我正在运行这个示例:
<?php
//Replace the line with require "vendor/autoload.php" if you are using the Samples from outside of _Samples folder
include('../config.php');
use QuickBooksOnline\API\Core\ServiceContext;
use QuickBooksOnline\API\DataService\DataService;
use QuickBooksOnline\API\PlatformService\PlatformService;
use QuickBooksOnline\API\Core\Http\Serialization\XmlObjectSerializer;
$dataService = DataService::Configure(array(
'auth_mode' => 'oauth2',
'ClientID' => "XXXXXXXXXXXXXXXXX",
'ClientSecret' => "XXXXXXXXXXXXXXXXX",
'accessTokenKey' => "XXXXXXXXXXXXXXXXX",
'refreshTokenKey' => 'XXXXXXXXXXXXXXXXX',
'QBORealmID' => "XXXXXXXXXXXXXXXXX",
'baseUrl' => "development"
));
$dataService->setLogLocation("/newFolderForLog");
$OAuth2LoginHelper = $dataService->getOAuth2LoginHelper();
$accessToken = $OAuth2LoginHelper->refreshToken();
$error = $OAuth2LoginHelper->getLastError();
if ($error) {
echo "The Status code is: " . $error->getHttpStatusCode() . "\n";
echo "The Helper message is: " . $error->getOAuthHelperError() . "\n";
echo "The Response message is: " . $error->getResponseBody() . "\n";
return;
}
$dataService->updateOAuth2Token($accessToken);
$dataService->setLogLocation("/Users/hlu2/Desktop/newFolderForLog");
// Iterate through all Accounts, even if it takes multiple pages
$i = 1;
while (1) {
$allAccounts = $dataService->FindAll('Account', $i, 500);
$error = $dataService->getLastError();
if ($error) {
echo "The Status code is: " . $error->getHttpStatusCode() . "\n";
echo "The Helper message is: " . $error->getOAuthHelperError() . "\n";
echo "The Response message is: " . $error->getResponseBody() . "\n";
exit();
}
if (!$allAccounts || (0==count($allAccounts))) {
break;
}
foreach ($allAccounts as $oneAccount) {
echo "Account[".($i++)."]: {$oneAccount->Name}\n";
echo "\t * Id: [{$oneAccount->Id}]\n";
echo "\t * AccountType: [{$oneAccount->AccountType}]\n";
echo "\t * AccountSubType: [{$oneAccount->AccountSubType}]\n";
echo "\t * Active: [{$oneAccount->Active}]\n";
echo "\n";
}
}
/*
Example output:
Account[0]: Travel Meals
* Id: NG:42315
* AccountType: Expense
* AccountSubType:
Account[1]: COGs
* Id: NG:40450
* AccountType: Cost of Goods Sold
* AccountSubType:
...
*/
解决方案
推荐阅读
- javascript - 使用循环、开关和 if 语句和数组的年龄计算器
- javascript - 从源代码构建 V8
- python - 绘图的参数可以保存在 Python 中的可传递变量中吗?
- model-view-controller - 如何强制 Phalcon 从另一个模块而不是定义中选择视图?
- java - android.os.Parcel.readException 中的 java.lang.SecurityException
- python - Django 服务器启动然后崩溃
- javascript - nodeJS 中的对象扩展
- javascript - 无法将列表的描述值设置为 UI 中的输入字段
- sublimetext3 - 开始时默认焦点左列
- c++ - 当我用 C 编写 C++ 代码时是否可能显示错误?