ほとんどの人は、PHP SDKは、PHPでQuickBooksのオンラインを統合するための簡単な方法になるだろう使用して、示唆したように:https://github.com/intuit/QuickBooks-V3-PHP-SDK
はしかし、プレーンなPHPのcURLを使用することも可能ですが、あなたが理解する必要があるいくつかの概念APIの呼び出し行う前に:
1)のOAuth 1.0プロトコル
をそれはほとんどの開発者が混乱してしまうものです。 QuickBooks Onlineは認証プロトコルとしてOAuth 1.0を使用します。どのように働いているかを理解するためにはいつか過ごす必要があります。ドキュメントについて、あなたはここでそれを読むことができます:https://developer.intuit.com/docs/0100_quickbooks_online/0100_essentials/000500_authentication_and_authorization/connect_from_within_your_app
をしかし、私はあなたがOAuthの遊び場で遊ぶ示唆、それはあなたがそれを実装するとき、それはのように見えた方法のための感じを与える:https://appcenter.intuit.com/Playground/OAuth/IA/(クリックし、お使いのコンシューマキーと秘密を埋めます
処理中、RealmIDという名前が返されます。それはQBOのcompanyidです、それをURLに入れてください。
2)ベースURL
あなたはdeveloper.intuit.comでアプリを作成すると、キー]タブの下で、あなたは開発の鍵と生産のキーが表示されます。右側の対応するキーは{baseurl}の部分を満たすために必要なものです(例えば、開発キーの他に "Accounting Sandbox Url"という場所があります: "sandbox-quickbooks.api.intuit.com")。各APIのエンティティのエンドポイントについては、マニュアルを参照してください:https://developer.intuit.com/docs/api/accounting/customer
3)Authorizationヘッダー
あなたはOAuthの1.0のために自分でそれを実装することはほとんどありません。 Twitterは、ステップ1)のアクセストークンとアクセストークンの秘密を使用して署名を生成するための良いリンクを持っています。https://dev.twitter.com/oauth/overview/creating-signatures
署名は認証ヘッダーの一部として入れます。
POSTMANを使用している場合は、使用可能な認証プロトコルとしてOAuth 1.0が使用されています。ここに例があります
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://sandbox-quickbooks.api.intuit.com/v3/company/193514340994122/account/1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"authorization: OAuth oauth_consumer_key=\"qyprdDjYtPpiEpbwFQZuUoAjubpVqm\",oauth_token=\"lvprdfblXv4LqNVhIv2WH2JebiSZgNs9POiEoCJxMwEhqbgc\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1494441064\",oauth_nonce=\"cfh0b7\",oauth_version=\"1.0\",oauth_signature=\"KqpN9ximPGWnWJBaXg1Vs9urJLY%3D\"",
"cache-control: no-cache",
"postman-token: 7c570691-c6cd-a706-67a0-984c5ddb1e6a"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
sdkを使用してください。 https://developer.intuit.com/docs/0100_quickbooks_online/0400_tools/0005_sdks/0209_php – Augwa
返信いただきありがとうございます。 SDKを使用して、その罰金。しかし、私は質問に記載されているようにQuickbooksのオンラインAPIを使用する必要があります。 –
SDKはオンラインAPIを使用します。 – Augwa