GolangでPocketの記事をアーカイブするAPIサーバを作ってみました。GolangでPocketの記事をアーカイブするAPIサーバを作ってみました。ブックマークすることにしています。その後は、Workflowを用いて色々と行なっています。ここで困ったことに気づきました。その色々行なった後にPocketに登録した記事をアーカイブしたいのですが、WorkflowからはPocketの記事をアーカイブできませんでした。Workflowからは任意のHTTPリクエストを送信できることに気づいたので、簡単なAPIサーバを立てて、Pocketの記事をアーカイブすることとしました。検討したこと色々と検討したことのまとめです。言語選定お仕事柄色々なOSに触る機会があるので、お手軽に各種OSのバイナリが生成できるGolangで作成して、習熟することにしました。ライブラリウェブサーバのライブラリには、ginを使って見ることにしました。こちらはお仕事で、HTTPリクエストを受け取るためのモックWebサーバを立てる時にお世話になったので。Pocket用のライブラリは、go-pocketを使うこととしました。ウェブサーバを起動するよ。url)自分しか使う人がいないとは思うのですが、最終的にはインターネット上に公開することを考えて、認証用の情報がpasswordでなければ、HTTPステータスコード401を返すことにしました。検索オプションを指定するわけじゃないけど、形式上必須みたいなので。err)}まとめてみたウェブサーバ側で処理を行うにあたって、複数のリクエストが来た際にひとつずつ順番に実行して処理が遅れることがないように、リクエストを受けつたら即座にステータスコード200をレスポンスとして返すことにしました。非同期でPocketから記事の検索を行う非同期でPocketの記事をアーカイブするといった流れにしました。これで処理がブロックすることはないはず。各々の処理でGoroutineとchannelを使ってみました。accessToken)}まとめURLを送信することで、Pocketの記事をアーカイブするAPIサーバを作ることができました。Service)で何をやろうとしているのか、おぼろげながら理解できました。今回の実際の処理の部分)といった形で責任を分担して、処理の記述に集中できるというのがメリットなんだろうなぁ...と思ったり思わなかったり。