我想连接到Xero API,我有以下代码:
using Xero.Api;
using Xero.Api.Core;
using Xero.Api.Example.Applications.Public;
using Xero.Api.Infrastructure.OAuth;
using Xero.Api.Infrastructure.Interfaces;
using Xero.Api.Serialization;
var public_app_api = new XeroCoreApi("https://api.xero.com", new PublicAuthenti
使用Xero.Api的Xero会计,我希望更新费用从授权支付。目前,我得到以下错误:
“状态更改无效。无法将状态为‘已授权’的费用报销申请更新为状态为‘已支付’”
这可以通过API来完成吗?如果可以,那么为了处理它,最小的字段更改是什么?
非常感谢。
public static void SetExpensePaid(Xero.Api.Example.Applications.Private.Core api,List<Guid> guids)
{
var account = api.Accounts.Find();
var bank = a
首先,我没有使用Xero api。我认为这更多的是一个OAuth2问题,而不是Xero。
不太确定这个问题是一般的OAuth2问题还是OAuth2的Xero实现。我可以成功地进行身份验证,从Xero获取令牌等。我甚至可以成功地向他们的端点发出Get请求,以获取发票和联系人。我的问题是尝试过帐任何东西,例如创建发票。
服务器以400 Bad request作为响应。通过将XML放入他们的API测试器中,我已经通过实际的post数据确认了数据是正确的,一切都很好。
post请求不应该是带有查询字符串?oauth_signature=[sig here]的标准httpwebequest ( post
为了利用Xero的api,我想使用devise的omniauthable来验证我的用户的帐户凭证。但是当我尝试授权这个gem时,我收到了400 Bad Request,Oauth::Unauthorized。我已经在Xero的站点上注册了应用程序,并生成了API (CONSUMER_KEY和CONSUMER_SECRET)。
以下是相关的路由:
scope module: :user do
devise_for :accounting_credentials,
path: :accounting,
c
我能够成功地使用第三方OAuth2提供程序(Xero)授权我的应用程序,但无法自动刷新令牌,也无法手动刷新令牌。
文档表明,authlib可以自动完成这一任务。我尝试了来自Authlib文档的两种不同的方法,它们在上给出了一个“通过信号自动更新令牌”的示例,以及在上注册了一个"update_token“函数。
使用这两种方法,永远不会尝试刷新令牌,请求将使用过期的令牌传递给Xero,我将收到一个错误,而继续的唯一方法是使用Xero手动重新授权应用程序。
以下是web客户端文档中"update_token“方法的相关代码:
#this never ends up getting
我是Oauth的新手,我的工作重点是让oauth_access_token与Xero协同工作。Web服务身份验证对我不起作用。Xero返回以下错误消息"oauth_problem=signature_invalid&oauth_problem_advice=Failed to validate“。生成的签名是错误的,但正确的生成方法是什么?
下面是生成端点的APEX代码。怎么啦?
Http h = new Http();
String consumer_key='XXX';
Long tmp=(System.now().getTime()/1000);
Blo