2017-04-10 9 views
0

Quickbooks APIを初めて使用しました。 QuickbooksのAPI Exolorerリンクの下にAPIリストがあります。彼らは、API呼び出しを行うために必要なRequest URI & Request Headersを示しています。私はそれを理解することができます。しかし、そのURIをどのように呼び出すか、あるいはそのAPIをPHPに統合する方法は正確には規定されていません。 URIを呼び出してカールを使用して結果を取得しようとしましたが、成功しませんでした。私はこの統合のために多くの時間を失いました。私は可能な限りすべての方法でGoogleを検索しました。しかし、結果の大半はPHP SDKに関連しています。しかし、私はQuickbooks Online APIを統合する必要があります。PHPを使ってQuickbooks Online APIを統合するには?

エンティティを作成するためのリクエストURIは、以下のようになります。

ます。https:// {{BASEURL}}/V3 /会社/ {{}}企業ID /アカウント

私はこれを整理するのに役立ちます。

+0

sdkを使用してください。 https://developer.intuit.com/docs/0100_quickbooks_online/0400_tools/0005_sdks/0209_php – Augwa

+0

返信いただきありがとうございます。 SDKを使用して、その罰金。しかし、私は質問に記載されているようにQuickbooksのオンラインAPIを使用する必要があります。 –

+0

SDKはオンラインAPIを使用します。 – Augwa

答えて

0

ほとんどの人は、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; 
    } 
関連する問題