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

Ondrej Papiernik Technical 1 Comment

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

Trello APIを学ぶことなく、Pythonスクリプトで素早く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を使用してこれを実現しました。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を選択し、認証ウィザードをクリックします。

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

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

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

ハンズオンスクリプト!

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

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

作者     Michal Hainc
著作権: 2014
ライセンス    Apache 2.0

連絡先: michalhainc@gmail.com
デフィールドが更新しました。18.8.2014
'''

インポート sys
インポート 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

class 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):# 無視: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 で Michal Hainc によって作成されました。

  ライセンスはApacheライセンス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()

        query = args.query
        connstr = args.connstr

        conn = pyodbc.connect(connstr)
        カーソル = conn.cursor()
        カーソル.execute(クエリ)
        while 1:
            row = None
            を試す。
                row = カーソル.fetchone()
            ただし
                print(sys.exc_info()[1])
                ブレーク
            if not row:
                break
            print(行)
                        
            
    except KeyboardInterrupt:
        ### キーボード割り込みの処理 ###
        0を返す
    except
        print(sys.exc_info()[1])
        #indent = len(program_name) * " "です。
        #sys.stderr.write(program_name + ": " + repr(e) + "n")
        #sys.stderr.write(indent + " ヘルプは --help を使ってください")
        2を返す

if __name__ == "__main__":
         
    if TESTRUN:
        インポートdoctest
        doctest.testmod()
    if PROFILE:
        import cProfile
        import 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('cumulative')
        stats.print_stats()
        statsfile.close()
        sys.exit(0)
    sys.exit(メイン())
  • 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つの位置引数を受け付けることがわかっています。

スキーマには "list "という "テーブル "が含まれているので、SELECT * FROM list LIMIT 10 というクエリを作成して、Trello リストから最初の 10 エントリを選択することができます。

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

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

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

制約

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

結論

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

乾杯
オンドレイ

Comments 1

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

コメントを残す

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