首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用Quickbooks

调用Quickbooks
EN

Stack Overflow用户
提问于 2015-02-26 20:21:29
回答 2查看 696关注 0票数 0

我希望能够为我在Intuit上开发的一个测试应用程序调用Quickbooks。这个应用程序是用Xcode制作的,使用Swift,下面是我到目前为止的情况:

代码语言:javascript
复制
    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")

                }
            }
        }
    }

错误说“操作无法完成”。我是在一家沙箱公司做的,这就是原因吗?如果我输入了一个真正的公司ID,它会起作用吗?另外,我如何使用API?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-27 06:49:38

没有办法完全从您的移动应用程序生成令牌。

使用consumerKey和consumerToken,您可以从OAuthPlayground生成accessToken和accessSecret。https://appcenter.intuit.com/Playground/OAuth/IA PN -在完成C2QB(OAuth)流之后,您应该使用‘API测试’。选项,它将显示accessToken和accessSecret。

收到这4张代币后,你可以打任何电话。为此,您应该使用任何标准的OAuth库(Swift),比如https://github.com/dongri/OAuthSwift PN --我还没有尝试过它(我在网络中做了一个lil搜索之后才找到它)。

PFB发布了我共享的使用signPost OAuth库的OAuth代码。您可以将其转换为Swift (使用OAuthSwift或任何其他合适的库)。How to call API (Oauth 1.0)?

票数 1
EN

Stack Overflow用户

发布于 2015-02-27 05:20:15

authorization

您是否使用OAuth1.0对请求进行了身份验证,并获得了访问令牌和访问令牌秘密以进行api调用?您需要有一个实现按钮的网页,然后为您想要连接的QBO公司获取这些令牌。然后,只有您可以调用api。

编辑-获取请求令牌调用-

获取signature=0EtvSnzsuumeyib2fiEcnSyu8%3D HTTP/1.1主机: oauth.intuit.com

HTTP/1.1 200正常

日期:清华大学,2014年2月13日15:56:03格林尼治时间

服务器: Apache

缓存-控制:无缓存,无存储

Pragma:无缓存

内容长度: 150

连接:关闭

内容-类型:文本/纯文本

oauth_token_secret=dXhHHMS1EfdrQ32UabOMscIRWt5bLJNX3ZKljjBc&oauth_callback_confirmed=true&oauth_token=qyprdbwXdWrAt0xM2NgkLlJ79yCp4I2SmDg7tahDBPjA6Wti

获取访问令牌-

获取signature=gEVHttlM8IBAAkmi1dSNJgkKGsI%3D HTTP/1.1主机: oauth.intuit.com

HTTP/1.1 200确定日期:2014年2月14日星期五17:03:20 GMT Server: Apache Cache-Control:无缓存,无存储Pragma:无缓存内容-长度: 120连接:关闭内容-类型:text/平原

oauth_token_secret=474gtp6xsFzNJ1EhrrjiHrTH96xXieaRLinjPomA&oauth_token=qyprdNIpWn2oYPupMpeH8Byf9Bhun5rPpIZZtTbNsPyFtbT4

编辑-发出api调用的原始req和响应- POST https://quickbooks.api.intuit.com/v3/company/717093040/query HTTP/1.1

内容-类型:文本/纯文本

主机: quickbooks.api.intuit.com

授权: oauth_token="lvprdBmi45KMPO2FnvYtq6KLFTMM7KG0P0PJO3Sm7F3n7pgq",oauth_nonce="e5d6e732-f903-4456-9c5f-58103843c3c6",oauth_consumer_key="qyprd7I5WvVgJZUvWDFnPoiBh1ejZn",oauth_signature_method=“HMAC 1”,oauth_timestamp="1394005668",oauth_version="1.0",oauth_signature="J8qgGZRa4loR6HEtdpAudP1nVpw%3D“

内容长度: 47 Expect: 100-继续连接:保持-活动

从帐户中选择*

HTTP/1.1 200正常

日期:2014年3月5日,星期三07:47:49

服务器: Apache/2.2.3 (红帽)

HeaderQueryTime: 21

ContextInitTime: 12

HeaderDAOTime: 22

回应-编号: 146f271e-1f23-4842-87ba-ad9fc69fe0a2

回应-应用-时间: 196

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

连接:关闭

内容-类型: application/xml

内容长度: 36683

代码语言:javascript
复制
<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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28751996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档