sironekotoroの日記

Perl で楽をしたい

Perl で気象庁の非公式 API を叩いて天気情報を取得する

長いこと無料で天気情報APIを提供してくれていた Livedoor Weather さんがサービスを終えて以来、お手軽に利用できる天気情報APIがなかったのですが、最近こんなツイートを見かけました。 まじかよ気象庁公式の天気予報APIができてるぞ、感激して大声で泣い…

Windows のバッチファイルの中に書かれた Perl スクリプトを実行する

さて、Windows 環境で Perl と仲良くする!仲良くなりたい!って昨今です。 まぁ、仲良くする目的は仕事を楽にして twitter 眺める時間を捻出するとか、早く寝るとか、そういう真の目的のためですが・・・ 前回は「バッチファイルから Perl を呼び出す」って…

Perl入学式 オンライン 2020 第5回お疲れ様でした

受講された方、サポーターの方、お疲れ様でした。 講師をやったジャージの人です。 講義に利用したスライド・動画類は以下 Perl 入学式の公式サイトで公開しています。参加された方も、参加できなかった方も、ぜひ復習に使ってください。 appslideshare.tugo…

1 行増えただけじゃん

長い前置き 平穏な時代 経理のお仕事で、仕訳というのがあります。複式簿記に則ってお金や債権・債務の流れを記録していきます。 いろいろなやり方があると思うのですが、うちの場合、 Google Sheet でマスターデータを書いておいて、それを Google Apps で…

FC2 ブログに記事を投稿する Perl モジュール作った

はい。タイトルのまんまです。 github.com 元々は、ちょっと表に出せないような欲望から始まったんですが、その途中でブログに投稿できるモジュールが欲しいなー、ということになり、気づいてみると欲望置き去りにして完成してたのがこのモジュールです。 目…

Windows のバッチファイルにファイルをドラッグ&ドロップして、Perl でなんか処理する

Windows 使ってます お仕事で使う経理ソフトが Windows 版のみリリースされている iPhone / iPadの母艦 兼 動画見る用マシンが Windows ということもあり、これらの Windows には Strawberry Perlストロベリー パールを入れています。 strawberryperl.com Wi…

Perl つかって 8 年目でディレクトリをコピーをしようとしてハマる

ディレクトリをコピーする機会がなかった 意外なことに、いままでディレクトリのコピーをする用件がなかった。 で、ハマった。 Perl でファイルコピーと言ったら File::Copy という標準モジュール。それで事足りてきた 8 年間。 だもんで、File::Copy でディ…

Perl入学式 オンライン 2020 第4回お疲れ様でした

受講された方、サポーターの方、お疲れ様でした。 講師をやったパーカーの人です。 講義に利用したスライド・動画類は以下 Perl 入学式の公式サイトで公開しています。参加された方も、参加できなかった方も、ぜひ復習に使ってください。 appslideshare.tugo…

Mac で Ansible によるインストール時にエラーが出るようになった

エラーが出る前にやったこと 多分これが原因かなぁ。 $ brew update ここで、 git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow するようにメッセージが出たで素直に従う。ただ、これはエラーには関係ないかな、多分。 つ…

Perl5 で Exercise に挑戦してみる(追記あり)

ってことで、巷で話題の Exercise に挑戦してみました。もちろん Perl5 で。 anatofuz.hatenablog.com うちは手元にある Macでやってみます。まだ Big Sur にあげておらず、Catalina です。 Exercism への登録は GitHub の ID と連携しました。 ecercism コ…

Perl入学式 オンライン 2020 第3回お疲れ様でした

受講された方、サポーターの方、お疲れ様でした。 講師をやったジャージの人です。 講義に利用したスライド・動画類は以下 Perl 入学式の公式サイトで公開しています。参加された方も、参加できなかった方も、ぜひ復習に使ってください。 www.perl-entrance.…

Perl で Chatwork API を使って添付ファイルをダウンロードする

チャットツール変更 お仕事で使うチャットツールを Chatwork から Slack に変更することになりました。 ユーザーも作り、運用ルールはメルカリさんの物をちょっと変えて・・・メルカリさんありがとうございます。 mercan.mercari.com さて、これでめでたしめ…

Perl で Google Sheet API をつかってセルに値を書き込む

さくっとやりました!と言いたいところなのですが Google Sheet API 叩き職人の朝は早い「'status' => '400', 'reason' => 'Bad Request', これが出てからが本番ってことさ」この道3ヶ月の sironekotoro はそう言って笑う— sironekotoro (@sironekotoro) 202…

Perl で Google Sheet API をつかってセルの値を取得する

これも GET だけでできるのでお手軽ー 説明よりもコードを読んでもらったほうが早い気がする。 配列リファレンスの中の配列リファレンス、てな形でデータが取得できるので、csv にするなりなんなり後は自由自在ですね(力量による) ちょっと詰まったところ …

Perl で Google Sheet API をつかってタイトルを変更する

なんか、適当に文言を入れ替えて自動生成したみたいなタイトルになってきたなぁ・・・ それはそれとして、Google Drive API に引き続き、Google Sheet API を使ってホゲホゲするってやつです。 以前、モジュールを使ってやってみたんですが、せっかく Web AP…

Perl で Slack API を使ってユーザー一覧を取得する(追記あり)

Slack のユーザー一覧を取得せよ! ってなお仕事が降ってきたものの、Slack のメニューとか探したど見当たらず。 これは API 使えってことなのかなぁ・・・使うんはいいけど、普通の非テックな会社だと厳しいんでは。 もっと高い料金プランだと出てくるのか…

Perl で Google Drive API をつかって特定のファイルを削除する

ファイルの上書き終わったところでこのシリーズ(シリーズ?)終わらせようと思っておりました。 しかし CRAD:Create, Read, Add, Delete の一角たる Delete やらないっていうのはないんじゃないか? どうせ後で必要になりそうだし・・・あぁ、でも面倒〜。…

Perl入学式 オンライン 2020 第2回お疲れ様でした

受講された方、サポーターの方、お疲れ様でした。 講師をやったジャージの人です。 講義に利用したスライド・動画類は以下 Perl 入学式の公式サイトで公開しています。参加された方も、参加できなかった方も、ぜひ復習に使ってください。 www.perl-entrance.…

Perl で Google Drive API をつかってフォルダーを作成する

はい、慣れてきました。 API の URL と mimeType 以外はそのまんまです。 my $GOOGLE_DRIVE_API = "https://www.googleapis.com/upload/drive/v3/files?create"; # (中略) `mimeType => 'application/vnd.google-apps.folder',` developers.google.com To …

Perl で Google Drive API をつかって特定のファイルを更新する

特定のファイルを更新する ちょっと前、ファイルを Google Drive にアップロードした時は、同名のファイルがある場合でもアップロードが可能でした。 ・・・可能でした、っていうか完全に不意打ちでしたが・・・ sironekotoro.hateblo.jp しかし、ファイルを…

Perl で Google Drive API をつかって特定フォルダ配下のファイル一覧を取得する

特定のフォルダ配下にあるファイル一覧を表示する こちらは GET アクセスなので簡単だろう〜・・・とナメてかかって、割と引っかかりました。 url でパラメータを組み立てる時に 2 回 URL エンコードしてしまったというもの。 Google Drive API v3 で特定の…

Perl で Google Drive API のアクセストークンを更新する

今日も Perl から Google Drive API v3 をやっていきます。 リフレッシュトークンを使ってアクセストークンを更新する Google の発行したアクセストークンは 3600 秒、つまり 1 時間で失効します。 失効する都度、アクセストークンを発行しても良いのですが…

Perl で Google Drive API を使ってファイルをアップロードする

Google Drive API を使ってファイルをアップロードしたい! これが超苦労しましたん・・・ 先に blog で書いたとおり、自分の環境(と技能)では、Google Drive を操作するモジュールを使うことができませんでした。 しかし! Google Drive API は REST API …

Perl で Google Drive API を使ってファイル一覧を取得する

さて、Google Cloud Platform で利用する ACCESS TOKEN と REFRESH TOKEN を手にしたからには、次の段階へ向かわねばなりません。 そもそも、なんか OAuth いじるの楽しくなって色々やってしまいましたが、これは目的と手段が逆転するいつものパターンです。…

Mojolicious::Lite で Google Drive API のアクセストークンを表示する

そろそろ前に進まないとと思いつつ ここしばらく、Google の提供する API を扱うためのことやってきたんですが、やりつつ一つの疑念がありました。 途中で Web にアクセスして URL を貼り付けるところ、そのまま HTTP の GET で良いのでは? いちいちブラウ…

CircleCI で Perl のテストをローカルでやってみた

環境構築から この本を参考にしました。 gihyo.jp Perl の例は掲載されていないですが、他の言語での例は豊富です。 なので、そっから応用していけるのではないか、していきたい!という気持ち。 $ brew install circleci バージョン確認 $ brew info circle…

Perl から Google Drive にファイルを「上書きっぽい感じ」でアップロードする

ここまで( 7 時間くらい)のあらすじ 前回の Google Drive の続きをやろう。Google Drive の特定のフォルダの配下にあるファイルを上書きアップロードしよう。 Google Drive は同名ファイルをフォルダ内に作成できる。 このため、同じファイルを続けてアッ…

Lenovo 製 M75q-1 Tiny の USB Recovery Creator で大変だった(追記あり)

まとめ:Lenovo 製 M75q-1 Tiny の USB Recovery Creator でメディア作成に失敗し続ける人へ 購入した Lenovo 以外の、他の Windows 機で USB Recovery Creator を動かしてメディアを作ってみたら成功した。 BUFFALO 製 USB メモリでは USB からのブートに失…

Perl から Google Drive にファイルをあげたりダウンロードしたり一覧を取ったり

Google OAuth のクライアントIDとクライアントシークレットを入手する まずは Google Cloud Platform でプロジェクト作成から。 もちろん、既存のプロジェクトに Google Drive API の利用権限を与えてもokです。 プロジェクトの作成が終わったら、左上のナビ…

Perl から Google Sheet を読み書きする

「Perl から Google Sheet を読み書きする・・・ための3種の TOKEN を手に入れる」の続きです。 sironekotoro.hateblo.jp 編集対象の Google Sheets を用意する API で書き込みを行う Google Sheet を一つ用意します。 用意した Sheet の URL から、以下の場…