ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →30日間の無償トライアル
無償トライアルはこちら製品の詳細
Square のTransaction、Items、Subscriptions データを.NET ベースのアプリケーションから手軽に連携。
加藤龍彦
ウェブデベロッパー
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData ADO.NET Provider for Square は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからSquare API へのデータ連携を可能にします。このプロバイダーは、Square の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。
次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムSquare に実行:
プロバイダーのアセンブリをロード:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Square\lib\System.Data.CData.Square.dll")
Square に接続:
Square OAuth 認証標準を使用します。OAuth を使用して認証するには、Square にアプリを登録してOAuthClientId、OAuthClientSecret、CallbackURL を入手します。OAuth の使用方法については、ヘルプドキュメントの「はじめに」セクションをご覧ください。
追加でLocationId を指定する必要がある場合があります。Locations テーブルをクエリすることでLocations のId を取得できます。または、クエリの検索項目にLocationId を設定することもできます。
$constr = "OAuthClientId=MyAppId;OAuthClientSecret=MyAppSecret;CallbackURL=http://localhost:33333;LocationId=MyDefaultLocation;"
$conn= New-Object System.Data.CData.Square.SquareConnection($constr)
$conn.Open()
SquareDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:
$sql="SELECT Reason, RefundedMoneyAmount from Refunds"
$da= New-Object System.Data.CData.Square.SquareDataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach { Write-Host $_.reason $_.refundedmoneyamount }
$cmd = New-Object System.Data.CData.SquareCommand("UPDATE Refunds SET Type='FULL' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SquareParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.SquareCommand("UPDATE Refunds SET Type='FULL' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SquareParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.SquareCommand("UPDATE Refunds SET Type='FULL' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SquareParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
CodeProject