GitHubAPIでAccessTokenを新規生成し、SQLiteのDBに挿入する。
成果物
GiHubApi.Authorizations.Create
使い方はGitHubを参照。
開発環境
- Windows XP Pro SP3 32bit
- cmd.exe
- Python 3.4.4
- WinAuth
今回はじめて知ったこと
note重複エラー
note(description)の値が既存のものと重複すると、以下のようなエラーが返ってくる。
{"message":"Validation Failed","errors":[{"resource":"OauthAccess","code":"already_exists","field":"description"}],"documentation_url":"https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization"}
こちらも参照した。感謝。
json上ではapp.name, note, のようなキー名だが、サイト上ではdescriptionと表現されているからわかりにくい。
AccessTokenのnote値はそのアカウント内で重複しないものにする必要があるらしい。
配列→カンマ区切文字列
配列をカンマ区切の文字列に変換する方法。 こちらを参考にさせていただいた。感謝。
scopes = ['repo','delete_repo','gist'] scopes_str = map(str, scopes) print ",".join(scopes_str)
mapは第一引数の関数を、第二引数のリスト要素全部に対して処理する関数らしい。str関数は文字列に変換する関数。scopeの名前を期待しているから文字列のはずなので不要かもしれない。しかし、内部で文字列チェックをするため、一応文字列化しておく。最後に全配列をカンマ区切りで結合する。
課題
- scopesの親子関係チェックをしていない