Ошибка создания активности времени — партнерская платформа Intuit — Quickbooks онлайн

Пытаюсь создать временную запись и выдает ошибку:

<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
<TxnDate>2013-02-18-07:00</TxnDate>
<Employee>
    <EmployeeId idDomain="QBO">2</EmployeeId>
</Employee>
<CustomerId>3</CustomerId>
<ItemId>1</ItemId>  
<StartTime>2013-02-18T11:45:00-07:00</StartTime>
<EndTime>2013-02-18T13:15:00-07:00</EndTime>  
<HourlyRate>10.5</HourlyRate>
<BillableStatus>Billable</BillableStatus>
<Hours>10</Hours>
<Description>This is a Description</Description>
</TimeActivity>

Другая информация включает: 1. действительную подпись OAuth, которая работает для других запросов. 2. Установлен тип содержимого application/xml 3. URL-адрес https://qbo.intuit.com/qbo28/resource/time-activity/v2/actual_real_id 4. Метод HTTP установлен на POST

Возвращаемая ошибка — недопустимая подпись OAuth, что вводит в заблуждение, поскольку один и тот же заголовок OAuth работает для всех других запросов.

Кроме того, я только что попробовал с другим запросом, согласно вашей документации, но с теми же результатами.

<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
<TxnDate>2013-02-18-07:00</TxnDate>
<Employee>
    <EmployeeId idDomain="QBO">2</EmployeeId>
</Employee>
<CustomerId>3</CustomerId>
<ItemId>1</ItemId>  
<BillableStatus>NotBillable</BillableStatus>
<Hours>8</Hours>
<Minutes>0</Minutes>
<StartTime>2013-02-18T11:45:00-07:00</StartTime>
<EndTime>2013-02-18T13:15:00-07:00</EndTime>
</TimeActivity>

person anonmys    schedule 19.02.2013    source источник


Ответы (2)


Клиенты REST для браузеров имеют проблемы с Oauth и POST, они неправильно генерируют подпись для включения содержимого тела.

Попробуйте использовать API Explorer, все должно работать нормально.
http://apiexplorer.developer.intuit.com< /а>

С уважением,
Джарред

person Jarred Keneally    schedule 20.02.2013
comment
Спасибо, Джарред, это действительно сэкономило много времени. Отличный инструмент :) - person anonmys; 20.02.2013

URL-адрес, который вы используете, выглядит неверным.

Вы используете этот URL:

https://qbo.intuit.com/qbo28/resource/time-activity/v2/

В котором отсутствует идентификатор области. Это должно выглядеть примерно так:

https://qbo.intuit.com/qbo28/resource/time-activity/v2/12341234

Где 12341324 — это идентификатор вашей области. Я не уверен, является ли это ошибкой в ​​DevKit, который вы используете, или просто вашим кодом, но это то место, с которого стоит начать изучение.

person Keith Palmer Jr.    schedule 19.02.2013
comment
Да, это qbo.intuit.com/qbo28/resource/time-activity/v2/‹realmId›; Я тестирую плагин Restclient Firefox перед написанием кода, и эти ошибки исходят от RestClient. - person anonmys; 20.02.2013