PHP中的SageOne Accounts API

时间:2015-04-06 16:44:44

标签: php sage-one

我在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访问我们的帐户数据?

2 个答案:

答案 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