はじめに
自分が株価取得用に作ったgoogle apps scriptのスクリプトをライブラリ化したので紹介します。
これを定期実行の関数から呼び出して、株価の管理をしています。
できること
- 株式が存在するか
- 現在の株価の取得
- 社名の取得
- 単元株式の取得
- 予想配当の取得
==> サイトにある情報ならmatch使って拡張すれば良いので今後は出来高なども取れるようにする予定
github
https://github.com/uenoryoichi/googleAppsScript/blob/master/getStockData/GetStockData.gas
使い方
- ライブラリを読み込む
- codeを引数に渡してfactoryでオブジェクトを作成してください
技術的なこと -- プロトタイピングでの記述 --
jsでちょっとしたライブラリつくる時に使われているプロトタイプを使う機会が無かったので今回のライブラリ化に際して使ってみました。
良かった面
- 共通で使う初期値などを予めsetして、それに沿ったオブジェクトを返してくれるので、単純に関数群としてのライブラリと異なり、分離した時に引数の受け渡しを都度都度しなくて良くなった。
- 特にurlFetch部分の呼び出しがオブジェクト生成時のみになったので、かなり高速化して、GASの起動時間による制限でできなかったことができるようになった。
- ライブラリ内のメソッドを継承したり追加したりできるので特殊な対応が必要な時にも柔軟に対応できる
まだまだな点
yahoo依存で頑張ってmatch関数によってデータを取得しているので、まだ不完全
- 上場廃止のものはページが存在しているので取得できてしまう
- 取得できるものがまだ限られている
- 今まで作ってきた他のスクリプトとの相性上、今回は一つ一つの値を返すようにしたが、連想配列を一括で返すほうが、ライブラリとしては良いのではないかと作ってて思った