その処理を書いた。
成果物
GitHub.Upload.UserRegister.Insert.Token.201704031122
開発環境
- Linux Mint 17.3 MATE 32bit
- SQLite 3.8.2
- Python 3.4.3
前回まで
http://ytyaru.hatenablog.com/entry/2017/10/30/000000
気づいた問題
リポジトリ編集APIにはrepo
権限が必要だった
https://developer.github.com/v3/repos/#edit
リポジトリ編集APIにはrepo
権限が必要だった。
仕様書(APIリファレンス)には書いていない。
repo
権限がないTokenで認証しようとすると404エラーになった。
publicリポジトリならpublic_repo
権限でもいいかもしれない。
仕様書は当てにならない。 今のソースコードでは、仕様書に権限が必要と明記されていないAPIはテキトーにTokenを選択していた。
もしかすると、じつは他にも何かの権限が必要なAPIがあるかもしれない。 これまで動作していたのは、たまたま必要な権限をもったTokenが選ばれていたからかもしれない。
修正箇所
/database/src/api/res/tsv/Apis.tsv
ファイルを修正する必要がある。DBファイルではGitHub.Apis.sqlite3
ファイルのレコードを修正する必要がある。
before
Id Name HttpMethod Endpoint AuthMethods Grants SuccessStatusCode DocURL ... 4 Repositories.Edit PATCH repos/:owner/:repo Basic,Token 200 https://developer.github.com/v3/repos/#edit ...
after
Id Name HttpMethod Endpoint AuthMethods Grants SuccessStatusCode DocURL ... 4 Repositories.Edit PATCH repos/:owner/:repo Basic,Token repo 200 https://developer.github.com/v3/repos/#edit ...
リポジトリ編集APIレコードのGrants
列にrepo
を追加する。