TeamGantのWEBAPIを利用する手順(python使用)
TeamGantとは
-
TeamGantは、その名のとおりチームメンバーでガントチャートを共有できるサービスです。
- タスク管理等もできます
- ブラウザで利用できます。専用のスマホアプリもあるようです。
今回紹介すること
- TeamGantのWEB APIを利用するための手順を紹介します。
- Pythonを使用した例を紹介します。
- 今回は 基本的なアクセス方法の紹介のみ とします。
何ができるようになるの?
- 日々の進捗チェックをブラウザ操作でポチポチらずにスクリプト化できます。
- TeamGantのWEB APIを利用するための手順を紹介します。
- Pythonを使用した例を紹介します。
- 今回は 基本的なアクセス方法の紹介のみ とします。
何ができるようになるの?
- 日々の進捗チェックをブラウザ操作でポチポチらずにスクリプト化できます。
はじめ方
- まず、TeamGantのアカウントを作ります。(Free版もあり)
- プロジェクトを立てて工程を作る
-
ベアラートークン を発行
-
ユーザートークン と APIキー をゲット
- APIリファレンスのページでコマンド単体のテストをします
- Pythonでコーディングします。
※今回はWEB API の説明なので、 3.ベアラートークンの発行 から説明します。
ベアラートークンの発行方法
- TeamGantのApp Tokensのページに行きます。
-
New App Name に適当な名前を入力して Save を押す。
-
Token のとこにトークン(長い文字列)が返ってくるので、コピーする。
ユーザートークン と APIキー の発行
- TeamGantのAPIドキュメントページへ行く。
- 「Authentication」⇒「Create Session」の順にポチる。
* 右側にAPIを試せるウインドウがあるので、ベアラートークン(デフォルトだと"Bearer ABC123" って入力されている)に先ほど取得したベアラートークンを入力する。
※ ベアラートークンの先頭は、"Bearer "が必要なので注意!(スペース1文字入ります)
- Body タブを押して、userとpass を自分のものに書き換えます。
- Call Resource ボタンを押す
成功すると Response が 200番台になります。 400番台の場合はエラーなので設定を見直してください。
Response Body のところに api_key と user_token の文字列が返ってきていますので、これをメモっておきます。
APIリファレンスページでの練習
APIリファレンスのページにAPIのテストができます。タスクに関するAPIの GetList を例として、自分の当日のタスクリストを取得する手順を紹介します。
コマンド選択
左側の見出しから Task ⇒ Tasks を選択し、 Get List を押します。
右側のウインドウが /tasks?today コマンドを試す状態になります。
次に ベアラートークン,ユーザートークン,APIキー をURLヘッダに付加します。
Headers を押して、Add new header を押すとアイテム名と値が入力可能になります。
アイテム | 入力するアイテム名 | 入力する値の説明 |
---|---|---|
ベアラートークン | TG-Authorization | 取得したベアラートークンの先頭に"Bearer "を付加 |
APIキー | TG-Api-Key | Create Sessionで取得したAPIキー |
ユーザートークン | TG-User-Token | Create Sessionで取得したユーザートークン |
上記3つをHeaderに設定した状態が↓のような画面になります。
Call Resource を押して Response 200番台が返ってくれば、OKです。
以上の手順でAPIドキュメントにあるAPIをブラウザ上でトライできます。
APIヘッダはピン止めができます!
入力ボックスの右側にマウスカーソルを持っていくとピン止めができます。
ピン止めしておくと、APIコマンドを変えたときに毎回ヘッダを入力しなくてもOKになり楽です。
Pythonを使用した例
TeamGantのAPIドキュメントにもPythonのExampleは載っています。
私が試した例を紹介します。
- WEB_APIのアクセスはurllib を使用しています。
- 受け取ったレスポンスはjsonライブラリを利用してJSONにして解釈し辞書型にします。
- GETしたjsonをファイルに書き出しています。
# -*- coding: utf-8 -*-
import urllib.request
import codecs
import json
########################################################################
# TeamGant
########################################################################
class TeamGant():
'''
コンストラクタ
'''
def __init__(self):
self.APIheader={'TG-Authorization':'Bearer <自身のベアラートークン>'
,'TG-Api-Key' :'<自身のAPIキー>'
,'TG-User-Token' :'<自身のユーザートークン>'
}
self.UrlBase = 'https://api.teamgantt.com/v1/'
'''
TeamGantにリクエストを投げて
引数 ApiCmd :APIコマンド(必須)
引数 iSaveName :結果をjsonファイルに書き出したいとき指定するファイル名Body
'''
def _gatTGjson(self, ApiCmd="",iSaveName=""):
__request = urllib.request.Request(self.UrlBase + ApiCmd, headers=self.APIheader)
__response = urllib.request.urlopen(__request)
__json = __response.read().decode("utf-8")
if not len(iSaveName) == 0:
print(__json, file=codecs.open('./' + iSaveName + '.json' , mode='w')) #書き出し
return __json
'''
今日のタスクを取得
'''
def GetTodayTask(self):
cmd='tasks?today' #今日のタスク
return self._gatTGjson(cmd, 'TaskToday')
########################################################################
# Main関数
########################################################################
if __name__ == '__main__':
tg = TeamGant() #TeamGantのクラスを作る
js = tg.GetTodayTask() #今日のタスクを取得するメソッドを実行してjsonを受け取る
json_dict = json.loads(js) #受け取ったjsonを辞書型にする
Author And Source
この問題について(TeamGantのWEBAPIを利用する手順(python使用)), 我々は、より多くの情報をここで見つけました https://qiita.com/takeru0x5569/items/2b08c8aacc21b126ba64著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .