我知道QBO本身不支持PHP,但如果我可以获得经过身份验证的请求,我可以直接使用他们的API。
我有以下数据
appid
oAuth consumer key
oAuth secret key
我正在对此端点进行API调用
https://qb.sbfinance.intuit.com/v3/company/<<my company id>>/item
我正在使用googles oauth-php库来尝试使这项工作。结果如下
message=Exception authenticating OAuth; errorCode=003200; statusCode=401
我显然缺少有关此处操作的详细信息,例如:如何发送应用ID以及此信息。有没有人有使用PHP获取签名的经验或示例?
谢谢!
答案 0 :(得分:2)
我们有一个完整的QuickBooks PHP library,它有一个有效的OAuth实现。
您可以在此处下载:
有一个身份验证示例:
数据访问示例位于:
Google OAuth libs也可以使用 - 它是标准的OAuth实现,我们过去曾成功使用过Google OAuth库。
答案 1 :(得分:0)
错误401表明存在一些身份验证问题。 因此,请使用ApiExplorer工具(或任何其他RestClient)验证您的令牌并验证请求标头。
使用V2 ApiExplorer,您可以获得API端点。
Apiexplorer不会显示OAuth令牌。因此,我建议您使用以下链接生成OAuth令牌。您可以使用新生成的OAuth令牌调用从Apiexplorer获得的端点。如果有效,那么在PHP应用程序中使用这些令牌。
[ PN - OAuth令牌不依赖于API版本]
由于
答案 2 :(得分:0)
因为,这个问题适用于v3 API访问,您需要访问 - developer.intuit.com/apiexplorer?apiname=V3QBO
请参阅ouath 1.0文档以生成如下所述的签名: http://oauth.net/core/1.0a/ http://oauth.net/core/1.0/#signing_process
用于生成签名的Twitter示例 - https://dev.twitter.com/docs/auth/creating-signature
示例RAW REQUEST AND RESPONSE标题 -
请求:
授权:OAuth oauth_token =“CCCDOPwLGymIrFSHVZ317Qx”,oauth_nonce =“cddde-464b-458a-a718-2dcd8062616a”,oauth_consumer_key =“qyprtysdsdgJZUvWDFnPoiBh1ejZn”,oauth_signature_method =“HMAC-SHA1”,oauth_timestamp =“1379398521”,oauth_version =“1.0 ”,oauth_signature = “mwVUkoHnh%2BPLqZolso2rzX5aABM%3D”
响应标题:
Cache-Control:max-age = 0,no-cache,no-store,must-revalidate,private 连接:关闭 内容长度:1402 Content-Type:application / xml; charset = UTF-8 日期:2013年9月17日星期二06:27:48 GMT 到期:0 intuit_tid:0f9b5431-b713-4d55-ac24-c00f4e91848e 服务器:Apache / 2.2.22(Unix) 变化:接受编码 通过:1.1 ipp-gateway-.net