Вызов API Quickbooks

Я хочу иметь возможность вызывать API Quickbooks для тестового приложения, которое я создал для Intuit Developer. Приложение сделано в Xcode, используя Swift, вот что у меня есть до сих пор:

    var request = NSMutableURLRequest(URL: NSURL(string: "https://quickbooks.api.intuit.com/v3/company/1313821405/query?query=SELECT%20*%20FROM%20Customer")!)
request.HTTPMethod = "GET"NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {
(response, data, error) in

println(response)
println(data)
println(error)
if error == nil {
if let HTTPResponse = response as? NSHTTPURLResponse {
let statusCode = HTTPResponse.statusCode
if statusCode == 200 {
println("success")

}
}
}
}

Ошибка говорит о том, что «операция не может быть завершена». Я делаю это в компании Sandbox, это причина, почему? Если бы я ввел реальный идентификатор компании, это сработало бы? Кроме того, как я могу использовать API?

0

Решение

Невозможно сгенерировать токены полностью из вашего мобильного приложения.

Используя consumerKey и consumerToken, вы можете сгенерировать accessToken и accessSecret из OAuthPlayground. https://appcenter.intuit.com/Playground/OAuth/IA PN — После завершения потока C2QB (OAuth) вы должны использовать «Тест API меню приложения». опция, которая покажет вам accessToken и accessSecret.

Получив эти 4 жетона, вы можете делать любые звонки.
Для этого вы должны использовать любой стандартный OAuth lib (swift) вроде —
https://github.com/dongri/OAuthSwift
ПН — Я еще не пробовал (я только нашел его после поиска в сети).

Пост PFB, где я поделился кодом Java, который использовал signPost OAuth lib.
Вы можете преобразовать это в swift (используя OAuthSwift или любую другую подходящую библиотеку).
Как вызвать API (Oauth 1.0)?

Спасибо

1

Другие решения

https://developer.intuit.com/docs/0100_accounting/0060_authentication_and_authorization

Вы аутентифицировали свой запрос с помощью Oauth 1.0 и получили токен доступа и секретный токен для выполнения вызовов API? У вас должна быть веб-страница с кнопкой «Подключиться к Quickbooks», а затем получить эти токены для компании QBO, к которой вы хотите подключиться. Только тогда вы можете звонить в API.

[РЕДАКТИРОВАТЬ]-
Получить запрос на токен

ПОЛУЧИТЬ https://oauth.intuit.com/oauth/v1/get_request_token?oauth_callback=oob&oauth_nonce = 34562646-ab97-46e1-9aa7-f814d83ef9d1&oauth_consumer_key = qyprd7I5WvVgWDFnPoiBh1ejZn&oauth_signature_method = HMAC-SHA1&oauth_timestamp = 1392306961&oauth_version = 1,0&oauth_signature = 0EtvSnzsuumeyib2fiEcnSyu8% 3D HTTP / 1.1
Ведущий: oauth.intuit.com

HTTP / 1.1 200 ОК

Дата: четверг, 13 февраля 2014 15:56:03 GMT

Сервер: Apache

Cache-Control: без кеша, без хранилища

Прагма: без кеша

Длина контента: 150

Подключение: закрыть

Тип контента: текст / обычный

oauth_token_secret = dXhHHMS1EfdrQ32UabOMscIRWt5bLJNX3ZKljjBc&oauth_callback_confirmed = верно&oauth_token = qyprdbwXdWrAt0xM2NgkLlJ79yCp4I2SmDg7tahDBPjA6Wti

Получить токен доступа

ПОЛУЧИТЬ https://oauth.intuit.com/oauth/v1/get_access_token?oauth_verifier=b4skra3&oauth_token = qyprde5fvI7WNOQjTKYLDzTVxJ2dLPTgQEQSPlDVGxEy9wZX&oauth_nonce = f20a5a4b-3635-40a8-92cf-697dfdb07b9d&oauth_consumer_key = qyprd7I5WvVgJZUvWDFnPoiBh1ejZn&oauth_signature_method = HMAC-SHA1&oauth_timestamp = 1392397399&oauth_version = 1,0&oauth_signature = gEVHttlM8IBAAkmi1dSNJgkKGsI% 3D HTTP / 1.1
Ведущий: oauth.intuit.com

HTTP / 1.1 200 ОК
Дата: пт, 14 февраля 2014 17:03:20 GMT
Сервер: Apache
Cache-Control: без кеша, без хранилища
Прагма: без кеша
Длина контента: 120
Подключение: закрыть
Тип контента: текст / обычный

oauth_token_secret = 474gtp6xsFzNJ1EhrrjiHrTH96xXieaRLinjPomA&oauth_token = qyprdNIpWn2oYPupMpeH8Byf9Bhun5rPpIZZtTbNsPyFtbT4


[РЕДАКТИРОВАТЬ]-
Необработанный запрос и ответ на вызовы API-
СООБЩЕНИЕ https://quickbooks.api.intuit.com/v3/company/717093040/query HTTP / 1.1

Тип контента: текст / обычный

Ведущий: quickbooks.api.intuit.com

Авторизация: OAuth oauth_token = «lvprdBmi45KMPO2FnvYtq6KLFTMM7KG0P0PJO3Sm7F3n7pgq», oauth_nonce = «e5d6e732-f903-4456-9c5f-58103843c3c6», oauth_consumer_key = «qyprd7I5WvVgJZUvWDFnPoiBh1ejZn», oauth_signature_method = «HMAC-SHA1», oauth_timestamp = «1394005668», oauth_version = «1.0», oauth_signature = «J8qgGZRa4loR6HEtdpAudP1nVpw% 3D»

Длина контента: 47
Ожидайте: 100-продолжение
Подключение: Keep-Alive

Выберите * из учетной записи

HTTP / 1.1 200 ОК

Дата: среда, 05 марта 2014 г. 07:47:49 GMT

Сервер: Apache / 2.2.3 (Red Hat)

HeaderQueryTime: 21

ContextInitTime: 12

ЗаголовокDAOTime: 22

Идентификатор ответа: 146f271e-1f23-4842-87ba-ad9fc69fe0a2

Время отклика приложения: 196

intuit_tid: 146f271e-1f23-4842-87ba-ad9fc69fe0a2

Подключение: закрыть

Тип контента: application / xml

Длина содержимого: 36683

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-03-    05T07:47:49.393Z"><QueryResponse maxResults="64" startPosition="1"><Account     status="Pending"><Id>QB:9</Id><SyncToken>7</SyncToken><MetaData>    <CreateTime>2014-03-03T10:56:45Z</CreateTime><LastUpdatedTime>2014-03-    04T14:44:57Z</LastUpdatedTime></MetaData><Name>Name_updatedc4f1a</Name>    <SubAccount>false</SubAccount>   <Description>description_updatedfc6b1</Description><Active>true</Active>    <Classification>Revenue</Classification><AccountType>Income</AccountType>    <AcctNum>49400</AcctNum><CurrentBalance>22654.7</CurrentBalance>   <OnlineBankingEnabled>false</OnlineBankingEnabled></Account></QueryResponse>   </IntuitResponse>
1

По вопросам рекламы [email protected]