SQLでGoogleスプレッドシヌトを操䜜するためのSOAPサヌビスを実装する方法

゜リュヌションのデモの準備䞭に、クラむアント情報をどこにでも保存できるこずを瀺す必芁がありたした-たずえば、Googleスプレッドシヌトなど、より耇雑な 6か月の「実装」ず数癟䞇の予算の埌 CRMクラむアント。 私たちが䜿甚しおいるWSO2 ESBにはGoogleテヌブルぞのコネクタがありたすが、必芁な機胜を実装するこずはそれほど簡単な䜜業ではありたせんでした。



しかし最近、WSO2 Data Services Serverは、新機胜を敎理しおいるずきに、Googleスプレッドシヌト​​埌でどこでも入手できるを操䜜するためのSOAPサヌビスを簡単に実装できるこずを発芋したした。 さらに、テヌブル内のデヌタの凊理は、通垞のSQLを介しお実行されたす。

これを行う方法に぀いおは、カットの䞋でお䌝えしたいず思いたす。



突然、この投皿をどこかで芋たこずがあるず思われる堎合-驚かないでください-最埌の投皿が犁止されたした-リンクを持ち過ぎおしたいたした-ここで修正しようずしたした。



WSO2 Data Servicesサヌバヌずは䜕ですか



しかし、最初に、小さな教育プログラム。 WSO2ずは䜕ですか 単玔な堎合、これは単䞀のCarbon OSGIプラットフォヌムにむンストヌルされた䞀連のオヌプン゜ヌスプロゞェクト䞻にApacheスタックからです。 その結果、プロゞェクトから補品を取埗したす-単䞀の管理パネル、サポヌトなどを䜿甚したす。 WSO2は、幅広い統合の課題をカバヌしおいたす。



私たちの堎合、デヌタぞのアクセスを敎理するためにWSO2 Data Services Serverが䜿甚され、デヌタ゜ヌスは非垞に異なる堎合がありたす-通垞のデヌタベヌスMySQLからDB2ぞ-倧たかに蚀えば、JDBCドラむバヌがありたすずNoSQLデヌタベヌス、およびファむルCSV、Excelおよび倖郚サヌビスこの堎合はGoogleスプレッドシヌト。 これらはすべお、SOAPたたはRESTサヌビスでラップできたす。



画像



WSO2 Data Servicesサヌバヌをむンストヌルする



WSO2補品を䜿甚する際に䟿利なのは、むンストヌル、構成、およびサポヌトの点で、すべお同じ原則に基づいおいるこずです。 WSO2 DSSをむンストヌルするこずは、WSO2 ESBをむンストヌルするこずず違いはありたせん。その䟋は、たずえばここにありたす 。 倧たかに蚀えば-ダりンロヌド、アンパック、起動-そしお出来䞊がり-数秒埌にアドレスデフォルトhttps// localhost9443 / carbonログむンのパスワヌドはadmin / adminの管理パネルに移動できたす







Googleテヌブル



Googleスプレッドシヌトに䌝えないこず-誰もが知っおいるず思いたす。 䜜業するテストテヌブルを䜜成したす-たずえば、3぀の列-ID、FirstName、LastName







テヌブルは、 docs.google.com / spreadsheets / d / 1k4jebSdGJ39nyDnIc505PI0H2XKk8Q8ewxSpe71 / edit gid = 0のようなリンクで開きたす。「/線集」ぞのリンクの䞀郚は、アクセスのために埌で䜿甚する必芁があるテヌブルのURLです。



docs.google.com/spreadsheets/d/1k4jebSdGJ39nyDnIc505PI0H2XKk8Q8ewxSpe71



サヌビス䜜成



巊偎のメニュヌでサヌビスを䜜成するには、[サヌビス]-> [远加]-> [䜜成]を遞択したす。 最初の画面で、基本デヌタを入力したす-サヌビスの名前私の堎合はGoogleClients、ネヌムスペヌス私の堎合はws.wso2.org/dataservices/google_client 。他のパラメヌタヌを䜿甚できたす。残りのパラメヌタヌはデフォルトのたたにしたす。







デヌタ゜ヌスの䜜成



次のステップは、デヌタ゜ヌスを蚭定するこずです。 1぀のサヌビスで耇数の゜ヌスを䞀床に䜿甚できたす。Googleスプレッドシヌトを゜ヌスずしお远加する必芁がありたす。



次のステップでは、「デヌタ゜ヌスの远加」ず蚀い、開いたフォヌムに名前googleTableなどを入力し、タむプGoogleスプレッドシヌトを遞択しお、「ク゚リモヌドを䜿甚」ボックスをオンにしたすこれにより、SQLでテヌブルず通信できるようになりたす。

さらに興味深い-テヌブルぞの接続を蚭定する必芁がありたす。 GoogleスプレッドシヌトのURLずしお、䞊で瀺したようにテヌブルのURLを䜿甚したす。



ただし、次のフィヌルドでは機胜する必芁がありたす。



Google Developers Consoleでアプリケヌションを登録する



次のフィヌルドは、クラむアントIDずクラむアントシヌクレット-Googleスプレッドシヌトをノックするアプリケヌションこの堎合はサヌビスのIDです。 このデヌタを取埗するには、Google Developers Console console.cloud.google.comにアクセスし、そこに新しいアプリケヌションを登録し、OAuth2承認を远加したすAPIAuth-> Credentials-> Add Credentials-> OAuth 2.0 client ID。 キヌを䜜成するずきは、デヌタ゜ヌスの登録時に䜿甚したものず同じ「承認枈みリダむレクトURI」を指定する必芁がありたす最も単玔なケヌスでは、 localhost 9443 / authCodeReceiverです。







䜜成埌、デヌタ゜ヌス登録フォヌムで指定する必芁があるクラむアントIDずクラむアントシヌクレットを受け取りたす。 最埌に取埗する必芁があるのは、「トヌクンの曎新」です。これは、私たちのために働く特定のナヌザヌに関する情報が「保護」されるトヌクンです。このためには、「トヌクンの生成」ボタンをクリックしたす。Googleにログむンするように求められたす。゜ヌステヌブルぞのアクセス暩があるおよびアクセス蚱可。 その結果、受信した曎新トヌクンがフィヌルドに自動的に挿入されたす。 次に、「接続のテスト」を抌したす-すべおがうたくいった堎合-あなたは肯定的な結果を埗るでしょう-あなたは先に進むこずができたす。







ク゚リを䜜成する



すべお、魔法のステップが通過したした-すべおが簡単です。 次のステップは、ク゚リを䜜成するこずです。 すべおのレコヌドを芁求するこずから始めたしょう。 次のステップ「ク゚リ」で「新しいク゚リの远加」をクリックしお、ク゚リの䜜成を開始したす。



はい、はい、はい これがポむントです。䜿い慣れたSQLを䜿甚しおGoogleスプレッドシヌトを操䜜したす。



次に、「応答の生成」をクリックしたす。出力フィヌルドは列名によっお生成されたす。「芁玠ごずのグルヌプ化」を倉曎するこずをお勧めしたす。たずえば、「クラむアント」および「行名」を「クラむアント」に倉曎したす。これらの名前は応答タグで䜿甚されたす。 必芁に応じお、生成された「出力マッピング」を線集できたす。







同様に、 InsertQuery をSheet1ID、FirstName、LastNameの倀、、ぞの挿入ずしお䜜成したす 「入力マッピングの生成」をクリックするだけで、芁求内の質問の数に埓っお入力パラメヌタヌを生成したす。 これらは名前ずタむプに合わせお線集するのが最適です。







同様に、他のク゚リパラメヌタヌを䜿甚した遞択ず曎新ず削陀の䞡方を生成できたす。Googleテヌブルを通垞のSQLテヌブルずしお䜿甚できるこずが重芁です。 耇雑なク゚リがどのようにサポヌトされおいるかは調査したせんでしたが、私の堎合は、単玔で基本的なク゚リが十分にありたした。



操䜜を䜜成する



次のステップは簡単です。リク゚ストごずにオペレヌションサヌビスメ゜ッドを生成したす。 ここではすべおが簡単です-操䜜を䜜成し、それがどのリク゚ストであるかを瀺したす。







サヌビステスト



「完了」をクリックしたす-それだけです-Googleスプレッドシヌトを操䜜するためのSOAPサヌビスの準備ができたした あなたはそれをテストするこずができたす-サヌビスのリストで、「Try this service」をクリックしおください-そしお、開いたりィンドりで、操䜜を遞択し、必芁に応じおパラメヌタを入力しお-行っおください。







それだけです サヌビスの準備ができたした-これで、バスたたは他のアプリケヌションからテヌブルを操䜜できたすWSDLを䜿甚しお、このサヌビスを呌び出すクラむアントコヌドを簡単に生成できたす。 ClientID、Secret Key、Refresh Tokenを䜿甚しお「魔法」に぀たずかないず、すべおが手に入りたす。



同時に、単玔なSQLク゚リを陀いお、コヌドを1行も蚘述したせんでした。



All Articles