sironekotoroの日記

Perl で楽をしたい

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 から、以下の場…

Perl から Google Sheet を読み書きする・・・ための3種の TOKEN を手に入れる

いやもう、ほんと大変だったわ・・・(以下おっさんの一人語りが続くのでカット) 「かつての自分」に教えるつもりで「APIを利用する前」から始めます。 その1:Google Cloud Platform で CLIENT ID と CLIENT SECRET を手に入れる Google Cloud Platform に…

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

Perl入学式 オンライン 第1回 受講された方、サポーターの方、お疲れ様でした。 講師の人です。 拙いところやアクシデントもありましたが、皆様に助けられました。ありがとうございます。 今回ですが、Perlの学習内容としては以下のみとなり、特に復習問題は…

Minilla で作ったモジュールにデータフォルダを入れる

全国の銀行・支店コードを取得・表示する ZenginCode というものがあります。 github.com これには!なんと!!Perl 版がないので(しょんぼり)自分で作って使ったりしています。 きっかけは経理業務で必要に迫られ・・・必要に迫られ・・・楽をする必要に…

Mouseのコンストラクタで1時間ちょっとハマったところ

出オチ感がるんですが、こんなコードです。 Mouse を使った Perl のオブジェクト指向のコードです。 意図したことは、$obj = UserID->new() でコンストラクタを呼ぶも、 required => 1 つまりオブジェクト生成時にプロパティを必須にしているのでエラーが出…