ようへいの日々精進XP

よかろうもん

2021 年 08 月 03 日 (火)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている。色が濃くなれば濃くなる程強度が高い (歩行、走行距離が長い) ということで。実装の詳細はこちら

ジョギング

いつもの補強を 1 セット。

足の痛さもさることながら、暑さがかなりやばい。走り終わった後、汗が滝のように流れて止まらなかった。

レアジョブ

今朝も 7:30 から正蔵先生だった。

夕飯

ゴーヤと豚肉の炒めもの、豆もやしのナムル、厚揚げという黄金コース。豚肉と豆もやしが思いの外マッチして美味しゅうございました。

Ruby で Slack チャンネルにファイルアップロード

Slack APIfiles.upload を利用する。

api.slack.com

ライブラリは net/http を使う方法を試行錯誤したけど、以下のような感じになった。今回は、単純なテキストファイルをアップロードすることを想定している。また、事前に必要な権限が付与された TOKEN が払い出されている状態となっている。

require 'net/http'

SLACK_API_BASE_URL = 'https://slack.com/api'
SLACK_USER_TOKEN = ENV['SLACK_USER_TOKEN']
SLACK_CHANNEL = ENV['SLACK_CHANNEL']

text_data = File.open("sample.txt", "rb").read

data = [
  [ 'channels', SLACK_CHANNEL ],
  [ 'title', "file-title" ],
  [ 'initial_comment', 'Hello world.' ],
  [ 'filename', 'sample.txt' ],
  [ 'filetype', 'text' ],
  [ 'file', text_data, filename: 'sample.txt' ]
]

uri = URI("#{SLACK_API_BASE_URL}/files.upload")

req = Net::HTTP::Post.new(uri)
req[:Authorization] = "Bearer #{SLACK_USER_TOKEN}"
req.set_form(data, "multipart/form-data")

res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
  http.request(req)
end

p res

以下の記事を参考にさせて頂きました。

masamitsu-murase.blogspot.com

ありがとうございました。