我在PHP中为SageOne帐户云软件找到了一个API类(https://github.com/eddieharrison/sageone-api-php)。
我使用auth.php
中的代码和我的应用CLIENT_ID和CLIENT_SECRET来获取访问代码。
然后我尝试了这段代码(/examples/get-ledger-accounts.php):
define('SAGE_CLIENT_ID', 'my client id');
define('SAGE_CLIENT_SECRET', 'my client secret');
// If you do not already have an access token please see:
// /examples/auth.php
define('SAGE_ACCESS_TOKEN', 'access code from auth.php');
$client = new SageOne(SAGE_CLIENT_ID, SAGE_CLIENT_SECRET);
$client->setAccessToken(SAGE_ACCESS_TOKEN);
$result = $client->getLedgerAccounts();
echo '<pre>';
print_r($result);
echo '</pre>';
然而,在测试此代码时,我得到以下内容:
string(26) "{"error":"invalid_token"} " int(0)
Array
(
[error] => invalid_token
)
有谁知道这意味着什么以及如何解决这个问题以便从SageOne访问我们的帐户数据?
答案 0 :(得分:0)
假设您已通过developers.sageone.com注册,如果您尝试在发布后1小时的到期时间内使用该令牌,则预计会出现invalid_token
错误。
我注意到的另一件事是您提到的库不支持所需的request signing。
答案 1 :(得分:0)
您是在开发客户端应用程序还是会计集成?
我为Sage One Accounting API v 1.1.1提供了一个包装器,它使用Api Key而不是clientId / accessToken。如果你想要自动化,这将更好。
https://github.com/Sharnw/sage-one-accounting-api
API文档:https://accounting.sageone.co.za/Marketing/DeveloperProgram.aspx