45 lines
2.0 KiB
Markdown
45 lines
2.0 KiB
Markdown
+++
|
|
date = "2017-04-07"
|
|
tags = ["golang"]
|
|
title = "medium-go"
|
|
slug = "golang"
|
|
+++
|
|
|
|
medium clientをgolangで書いた。
|
|
|
|
https://github.com/syui/medigo
|
|
|
|
```bash
|
|
$ cd $GOPATH/bin
|
|
$ curl -LO https://github.com/syui/medigo/releases/download/0.1/darwin_amd64_medigo
|
|
$ mv darwin_amd64_medigo medigo
|
|
$ chmod +x medigo
|
|
$ export PATH=$PATH:$GOPATH/bin
|
|
|
|
# 最初はOAuth認証のためブラウザが開く
|
|
$ medigo
|
|
|
|
|
|
$ medigo h
|
|
|
|
COMMANDS:
|
|
post, p carte post
|
|
sub-command : draft(d), public(p)
|
|
key, k token json
|
|
sub-command : AccessToken(a), RefreshToken(r), SelfToken(s)
|
|
user, u user info
|
|
oauth, o get oauth-access-token
|
|
self, s get self-access-token
|
|
refresh, r refresh access-token
|
|
help, h Shows a list of commands or help for one command
|
|
```
|
|
|
|
前回は試せなかったので、設定ファイルから読み込む方法で`client_id`などを読み込むようにしてみたりとか色々。エディタとかと連携したら面白そうだけどやってない。
|
|
|
|
OAuthでの認証はBrowserでクリックしないといけないのでCLIとの相性は良くない。MediumにはSelf-access-tokenぽいものがあって、それを利用するとCLIとの相性は良さげなんだけど、これをどういう形でユーザーに取得してもらうのかという問題がある。できる限りコマンド一発で行いたいけど難しそう。
|
|
|
|
一応、OAuth認証の実現に向けて試しにコマンドオプション`o`を追加してみたけど、実際のところブラウザからcodeをコピーして貼り付けなければならないし、MediumはLocalhostの利用を許可していないので、自身のWebサイトにURLにアクセスしてもらうようにしているのだけど、これ自体が信頼に足りないものだし、リフレッシュトークン(OAuthで取得したTokenは期限切れがあるため)の処理が面倒などなどいろいろな理由から対応してない。
|
|
|
|
以上
|
|
|