0

我已经使用 QuickBooks Anywhere 构建了 QuickBooks Online 集成。我正在使用 QuickBooks Online 的付费版,但我的客户正在使用试用版。我的应用程序目前处于开发模式,尚未获得 Intuit Marketplace 的批准。

此代码适用于我的网站。试用 QuickBooks Online 是否意味着您无法写入数据?我的客户能够很好地提取帐户、供应商和付款方式的列表。

这是我的代码:

ItemQuery itQuery = new ItemQuery();
itQuery.Name = "Unknown";
itemsList = itQuery.ExecuteQuery<Item>();

QBO:错误 2013 年 1 月 23 日下午 12:59:48 查询项目时出错:Intuit.Ipp.E​​xception.InvalidTokenException:在 Intuit.Ipp.Services.QboService.Get[T](IQboQuery qboQuery,字符串 simpleQuery,布尔 isQuerySpecified)未授权在 Intuit.Ipp.Services.ServiceExtensions.ExecuteQuery[T](IQuery 查询,ServiceContext serviceContext)

客户可以验证OK:

OAuthRequestValidator oauthValidator = new OAuthRequestValidator(acT, acTS, coK, coKS);
IntuitServicesType st = IntuitServicesType.QBO;
ServiceContext context = new ServiceContext(oauthValidator, acT, cId, st);
dataServices = new DataServices(context);
4

2 回答 2

2

我发现如果 itQuery.Name 变量为 null 或空字符串,那么您将收到此错误。Intuit 能否将错误消息更改为“您必须为项目查询名称字段指定一个值。您输入了一个空字符串或空字符串。”

在我的特殊情况下,我有一个应该说未知的字符串。这是一个空字符串。

于 2013-01-23T19:33:45.370 回答
1

You will need to add error checking to your application to ensure you are not passing empty string. Otherwise you are making an unnecessary API call.

The root cause seems to be that the signature is not calculated correctly by the DevKit when an empty string is passed, but the request is not valid.

于 2013-01-24T22:41:58.317 回答