问题标签 [xero]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
409 浏览

python - Xero:OAuth2:Python3:获取刷新令牌的示例代码

Xero 已将其 API 更改为需要 OAuth2 连接而不是 OAuth1。

我在 OAuth1 中有一个可行的解决方案,但 Oauth2 的示例充其量是稀缺的,但主要用于网站。

我是另一位设法创建 Oauth1 解决方案的开发人员,该解决方案成功地用作机器对机器的解决方案,不涉及 Web 服务器。

Xero 有一些在 Postman 中运行的示例,可以在我的测试环境中轻松运行。

我正在尝试重现 Python3 中刷新令牌的邮递员操作。

我下面的基本代码是我目前所在的位置:

到目前为止,我还没有找到一个在没有 Web 服务器的情况下工作的示例,只是使用 python 与 Xero 服务器通信以将本地数据传输到零 API。

使用 xoauth,.exe (windows) 获取 access_token,然后在邮递员中我可以运行示例以刷新令牌、连接、发票等到演示公司。

而且我相信能够复制这些示例将为我提供获得有效解决方案所需的东西。

目前使用这个 python 代码我只得到 {"error":"invalid_request"}

所以,很明显我错过了一些东西。

我将自己归类为 Python 或 Oauth2 的新手,但由于我之前使用 Oauth1 连接的解决方案取得了成功,我选择了这条路。

我会问 Xero 开发者社区,但我写这篇文章是为了让我们软件的用户将数据推送到他们的 Xero 帐户中,所以为了测试,我只有一个试用帐户,这不能让我访问 Xero 开发者社区.

这本身就很烦人。

Xero支持似乎也没什么用,我试过了。

如果有任何人能够提供帮助,那将是非常棒的。

预先感谢您提供的任何帮助。

0 投票
1 回答
818 浏览

php - xero API:努力添加基本发票

更新以显示新代码/新错误 @ 10/12/2020 11:30

我需要使用他们的 API 将发票从我的网站复制到 xero。我设法使用 OAuth 1 使其正常工作,但现在需要更新到 OAuth2.0。

我已经安装了 xero-php-oauth2-starter,它可以与示例连接并正常工作。例如,如果我单击示例“创建一个联系人”链接,演示联系人将在 xero 中创建。

因此,我知道该链接有效。

我一直在四处寻找如何使用 API 创建发票的示例,但发现它非常难以解决。

以下是我目前在我的 xero api 文件夹中的内容:

我似乎找不到任何细节。

我已经在 xero 中创建了产品“Acme Tires”,以防万一这是导致问题的原因(我记得在 auth 1 中,如果产品没有首先列出,它将无法工作)。

任何帮助将不胜感激。

0 投票
1 回答
53 浏览

php - Php,使用数组中的计数

我正在尝试使用 Xero 会计软件的 API (php) 创建发票。如果我使用以下代码(摘录),我可以毫无问题地创建发票并添加产品:

这没有任何问题,并将在发票上创建两个产品(MODEL-REF1 和 MODEL-REF2)及其相关的数量和税种。

当我尝试从上一页的表单中填充这些详细信息时,问题就开始了(因为每张发票上可能有 1 或 100 多种不同的产品)。该表单将传递具有唯一 id 的产品型号项目代码等(在下面的示例中由“X”显示自动递增 1),还将传递购买的产品线的总量。

例如,上述表格将是:

因此,我认为我可以使用以下代码在脚本 API 端循环遍历这些值(然后将产品提交给 xero):

但是,这只是将循环中的最后一个产品(例如 MODEL-REF2)而不是其他产品的第一个产品提交到发票。

任何人都可以看到我在这里缺少什么吗?

我假设这与在数组中使用计数循环有关?

0 投票
0 回答
93 浏览

python - 尝试在 Xero 中批量创建账单发票时出现错误 500

当我尝试在 xero 中批量创建账单发票时,我总是收到错误 500。当我一张一张地发送相同的发票时 - 一切正常。该异常的全文:

我将 python 与 pyxero 库一起使用。此问题仅出现在采购发票中。问题可能出在哪里?

0 投票
1 回答
54 浏览

php - 如何使用 wp_remote_post() 更新 Xero 发票

我正在尝试更新 Xero 发票的发票模板。我的问题是我收到 400 错误和回复说:

所以我的身份验证工作完美,但它声称我的帖子请求正文中没有数据。正如您在下面的代码中看到的那样,我在请求正文中指定了数据。那么我只是格式错误还是我做错了什么?

0 投票
1 回答
257 浏览

node.js - 如何使用 HMACSHA256 Node js 验证 Xero webhook 有效负载

我需要在我的节点 js 项目中验证 Xero webhook。这是验证的 Xero 文档步骤:https ://developer.xero.com/documentation/webhooks/creating-webhooks#STATUS

每次我的签名和哈希都不同,所以每次都返回 401。所以我没能完成Intent to receive

0 投票
1 回答
250 浏览

xero-api - Xero API 禁止获取项目

这仅发生在过去几天我遇到此问题但仅用于获取项目。我可以获得联系人并获得品牌主题。因此,tenand id 正在工作和 accesstoken。

这是我获取项目时的端点:

回复:

这是范围:

我不确定发生了什么变化,但除了获得物品外,一切正常。请告诉我如何解决此问题以及导致问题的原因。非常感谢你。

0 投票
1 回答
69 浏览

node.js - 如何在 Xero 中获取已付账单的 webhook 通知?

如何通过 webhook 获得账单支付通知?尽管 webhook 已配置并正常工作,但似乎没有可用资源来解释如何通过自己的第三方集成处理已付账单。

0 投票
2 回答
606 浏览

c# - 使用 Oauth2 从 Xero API 获取基于联系人姓名的联系人详细信息

我正在通过 Xero API(使用 OAuth2)根据名称从 Xero 获取联系人的详细信息。现在的问题是,我可以获得联系人的详细信息,但某些详细信息始终为空,例如跟踪类别。

我为此联系了 Xero 支持。他们建议通过 GUID 获取联系人。但问题是我需要按名称获取,因为我正在搜索在 Xero 中共享相同名称的联系人。所以可能有多个联系人,如果我按名称获取,它不会给我跟踪类别详细信息。

这是我获取联系人的方式。

注:Contact 指Xero.NetStandard.OAuth2.Model.Accounting
AccountingApi 指Xero.NetStandard.OAuth2.Api

通过此代码,我可以获得联系人,但跟踪类别始终为空。如何在不通过 GUID 搜索的情况下获取联系人的所有详细信息。

有人可以在这里帮助我吗?

Xero 联系人:https
://developer.xero.com/documentation/api/contacts 跟踪类别:https ://developer.xero.com/documentation/api/tracking-categories

0 投票
1 回答
376 浏览

oauth-2.0 - Xero OAuth2 问题

我已将我的网站迁移到 Xero 2.0,它可以用于创建发票。但是几个小时后,我必须通过单击浏览器中的https://something.com/xero-oauth2/authorization.php文件重新授权,重新连接到 Xero 帐户,否则我的客户会看到类似于下面的内容.. .

致命错误:未捕获的 BadMethodCallException:未传递所需参数:/var/www/vhosts/something.com/httpdocs/xero-oauth2/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php:35 中的“refresh_token”堆栈跟踪:#0 /var/www/vhosts/something.com/httpdocs/xero-oauth2/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php(53): League\OAuth2\Client\Grant\AbstractGrant- >checkRequiredParameter('refresh_token', Array) #1 /var/www/vhosts/nasschools.org.uk/httpdocs/xero-oauth2/vendor/league/oauth2-client/src/Grant/AbstractGrant.php(76):联赛\OAuth2\Client\Grant\AbstractGrant->checkRequiredParameters(Array, Array) #2 /var/www/vhosts/something.com/httpdocs/xero-oauth2/vendor/league/oauth2-client/src/Provider/AbstractProvider.php (535): League\OAuth2\Client\Grant\AbstractGrant->prepareRequestParameters(Array,数组)#3 /var/www/vhosts/something.com/httpdocs/xero-oauth2/createInvoice.php(160): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken(Object(League\OAuth2\Client\Grant \Refre 在 /var/www/vhosts/something.com/httpdocs/xero-oauth2/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php 第 35 行

这有什么明显的问题吗?