Connect BridgeでPythonスクリプトを使ってTrello APIにアクセスする

オンドレイ・パピエルニク 技術的なこと 1のコメント

Pythonスクリプトを使ってTrello APIに素早くアクセスし、Trello APIを学ぶ必要はありませんか?このチュートリアルを読んで、Connect Bridgeでどれだけ簡単にアクセスできるかを学びましょう。

Trello API Python - はじめに

誰もそれにアクセスする必要があるたびに、APIのための長くて複雑なドキュメントを学ぶのが好きではありません。この記事では、TrelloのAPIの専門知識がなくても、Python(バージョン3.3で試してみました)言語スクリプトを使ってTrelloのAPIにアクセスする方法を説明します。このチュートリアルでは、Trello APIを介したデータ通信を可能にするための統合プラットフォームConnect Bridgeが必要です。データ転送はODBC層を介して行われます。これはPythonでpyodbcモジュールver.3.0.7 x64

Connect Bridge」とは?

Connect Bridge は、31以上のコネクタ(Trelloを含む)とODBC、JDBCドライバ、Webサービスを介して任意のソフトウェアを接続することができます統合プラットフォームです。開発者は、基本的に数分以内に、ターゲットシステムの専門知識を持っている必要がなく、任意のプログラミング言語でこれらのコネクタにアクセスすることができます。Pythonを介してTrello APIにアクセスするだけでなく、ツールを使用することができることです、あなたはまた、/ MS Exchange、MS Dynamics CRM、MS SharePointと多くのシステムから/へのデータをつかむことができます。

前提条件

それでは、ODBCドライバを介してConnect Bridgeを使用してTrello APIにアクセスするシンプルなPythonスクリプトの開発プロセスをいくつかの簡単なステップで見ていきましょう。

  1. Connect Bridgeをインストールします。 無料体験はこちら)
  2. インストール Windows用のPython ver.3.3+
  3. インストール パイodbcモジュール 3.0.7+(私が使っているのは pyodbc-3.0.7.win-amd64-py3.3.exe)
  4. スクリプトを書いたり、実行したり、デバッグしたりするのが簡単になるように、私は エクリプス ルナと パイデブ プラグイン
  5. Connect BridgeでTrelloのアカウントを設定する(下の段落参照

Connect Bridgeセットアップ

Connect Bridgeをインストールすると、3つのアプリケーションが表示されます。

  • CBサービスコントローラ - Connect Bridgeの起動と停止を行います。
  • CB管理ツール - ここでは、ターゲットシステムに接続するためのアカウントを設定することができます。
  • CB Query Analyzer - このツールは、ターゲットシステムのデータベーススキーマの可視化のために提供し、ここで簡単にあなたのクエリを試すことができます。

それでは、Trello用のアカウントを作成してみましょう。管理ツールを開き、アカウントセクションで新しいアカウントを作成し、コネクタのコンボボックスでCBTrelloConnectorを選択し、認証ウィザードをクリックします。

そこにユーザー名とパスワードを記入し、Trelloへのアクセスを許可するだけです。

それを保存するだけで、私たちのアカウントを持っています。
これで、CB Query Analyzerツールを使ってスキーマを可視化することができるようになりました。下の図のように新しい接続を追加する必要があります。

pythonスクリプトからの接続には、このアカウントへの接続文字列が必要です。

接続文字列を知るには、Trello接続を右クリックして、"接続の編集 "をクリックし、接続エディタで "詳細設定 "タブを選択し、テキストボックスの "接続文字列 "から値をコピーします。(下の写真を参照してください)

ハンズオンスクリプト!

コアと同時に、私のソリューションの中で唯一のファイルはCBQuery.pyです。以下のソースコードをご覧ください。

 #!/usr/local/bin/python2.7
# エンコーディング: utf-8
'''
CBQuery2 -- SharePoint、Dynamics CRM、Exchangeへのデータ書き込み、SharePointからのデータの問い合わせ
CBQuery2は、Connect Bridge ODBCドライバを介してSQLクエリを実行するためのスクリプトです。

著者のミハエル・ヘインカです。     ミハエル・ヘインク
著作権: 2014年
ライセンス。    Apache 2.0

michalhainc@gmail.com
デフィールド @deffield 更新しました。18.8.2014
'''

インポートシステム
インポート os
インポートpyodbc

from argparse import ArgumentParser
from argparse import RawDescriptionHelpFormatter

__all__ = []
__version__ = 0.1
__date__ = '2014-08-15'
__updated__ = '2014-08-15'

DEBUG = 1
TESTRUN = 0
PROFILE = 0

クラス CLIError(Exception)。
    '''異なる致命的なエラーを発生させてログに記録するための汎用的な例外です。
    def __init__(self, msg).
        super(CLIError).__init__(type(self))
        self.msg = "E: %s" % msg
    def __str__(self).
        return self.msg
    def __unicode__(self)
        return self.msg

def main(argv=None): # IGNORE:C0111
    '''コマンドラインオプション'''

    argvがNoneの場合。
        argv = sys.argv
    他には
        sys.argv.extend(argv)

    プログラム名 = os.path.basename(sys.argv[0])
    program_version = "v%s" % __version__
    program_build_date = str(__updated__)
    program_version_message = '%%(prog)s %s (%s)' % (program_version, program_build_date)
    program_shortdesc = __import__('__main__').__doc__.split("n")[1]
    program_license = '''%s

  %sでミハエル・ヘインクが作成。

  Apache License 2.0 の下でライセンスされています。
  http://www.apache.org/licenses/LICENSE-2.0

  保証なしの「現状有姿」での販売です。
  また、明示的または黙示的にかかわらず、いかなる種類の条件であっても、そのような条件は適用されません。

使用法
'' % (program_shortdesc, str(__date__))

    を試してみてください。
        # 引数パーサの設定
        parser = ArgumentParser(description=program_license, formatter_class=RawDescriptionHelpFormatter)
        parser.add_argument('connstr')
        parser.add_argument('query')
        
        # プロセス引数
        args = parser.parse_args()

        クエリ = args.query
        connstr = args.connstr

        conn = pyodbc.connect(connstr)
        カーソル = conn.cursor()
        カーソル実行(クエリ)
        while 1.
            行 = なし
            試してみてください。
                row = cursor.fetchone()
            を除く。
                print(sys.exc_info()[1])
                壊れる
            行でなければ
                ブレーク
            プリント(行)
                        
            
    KeyboardInterruptを除く。
        ####はキーボード割り込みを処理する ###
        還る
    を除く。
        print(sys.exc_info()[1])
        #indent = len(プログラム名) * " " "
        #sys.stderr.write(program_name + ": " + repr(e) + "n")
        #sys.stderr.write(indent + "for help use --help")
        復帰2

if __name__ == "__main__".
         
    もしTESTRUNが
        インポートdoctest
        doctest.testmod()
    if PROFILE.
        インポート cProfile
        インポートpstats
        profile_filename = 'CBQuery2_profile.txt'
        cProfile.run('main()', profile_filename)
        statsfile = open("profile_stats.txt", "wb")
        p = pstats.Stats(profile_filename, stream=statsfile)
        stats = p.strip_dirs().sort_stats('累積')
        stats.print_stats()
        statsfile.close()
        sys.exit(0)
    sys.exit(main()
  • connstr (Connection string)はODBC接続文字列を保持しており、 pyodbcモジュールに渡してconn変数に格納されているODBC接続を作成します。
  • 次のステップでは、connに格納されている接続を使用してデータベースカーソルを開きます。
  • 次に、コマンドラインパラメータ query で渡された SQL クエリを実行します。
  • 最後にwhileループを使用してカーソルから行ごとに結果を読み込み、 cursor.fetchoneがNoneを返したらループを解除します。
  • ODBC フェッチ中に例外が発生した場合は、ループを解除して問題を出力します。
  • fetchoneメソッドが成功してデータ行を返した場合、デモンストレーションのために生のデータ行を出力に出力します(XMLやJson、csvなどのデータ交換形式でフォーマットすることができます)。

CBQuery.pyスクリプトの実行

今回はWindowsのPowerShellを使ってスクリプトをテストしてみましたが、他にも好きなシェルを実行することができます...。

CBQuery.pyは "connstr "と "query "の2つの位置引数を受け付けることがわかっています。

我々は、スキーマが "リスト "と呼ばれる "テーブル "が含まれていることがわかりますので、我々はTrelloリストから最初の10エントリを選択するSELECT * FROM list LIMIT 10としてクエリを構築することができ、我々は下の図に見ることができるようにクエリを実行することによって、クエリが出力で10行を返したことを確認してください。

これで、最初の「空白」リストに新しいTrelloカードを作成してみることができます。クエリを使用します。

INSERT INTO カード (名前、idlist) VALUES ('新しいカード', '565c0d32c75039b07e86b0b3')

新しいカードが正常に作成されたことがTrelloで確認できます。

制約

これまでのところ、Connecting SoftwareはODBC Linuxクライアントライブラリを提供していなかったため、私はWindows OSからのみConnect Bridgeツールを使用することができました(それが可能であるならば)。なので、必ずWindowsマシンでPythonスクリプトを使って遊んでください。

結論

我々は、PythonでTrello APIにアクセスすることが、Connect Bridgeの統合ツールを使って本当に簡単にできることを証明しました。そして、Trelloは、Connect Bridgeが統合を可能にする他の多くのシステムのうちの1つに過ぎません。Dynamics CRM、NAV、AX、Salesforce、Exchangeなどの主要なソフトウェアやサービスのAPIに安全にアクセスできることを想像してみてください。新しいターゲットシステムに出会うたびに、何百ものAPIドキュメントページを覚える時間を無駄にしたくないとお考えの方は、ぜひ一度Connect Bridgeをご利用ください。 無料トライアル、価格設定、その他のご質問はこちらからお問い合わせください。.

乾杯
オンドレイ

コメント 1

  1. 驚くほど素晴らしい仕事をしてくれました。Connect Bridgeの設定」と「制約」の2点がよくカバーされています。Connect BridgeでPythonスクリプトを使ってTrello APIにアクセスする」というトピックを共有してくれてありがとう。最高の部分は、この記事がすべての実用的な詳細を持っていることです。共有を続けてください。

コメントを残す

メールアドレスが公開されることはありません。