nDiki : API

API - Application Programming Interface / Application Program Interface

関連情報

2016年6月12日 (日)

思い浮かんだことを一時的に書き留めておくツールはやはり Google Keep

Dropbox の Datastore API 終了にともなって、日記アプリ Diaro が少し前に個別ファイルでの Dropbox 同期に移行したので、久しぶりに Android アプリをインストールしてお試ししてみました。思い浮かんだことを一時的に書き留めておくツールとしてどうかなと思ったのですが、表示・編集画面の雰囲気がやっぱり垢抜けないのでちょっと自分には合わない感じでした。

などを使っているなかで random thought を書き留めておくツールとしては Google Keep が今のところ一番しっくりしている感じです。これでアンドゥがついてくれればと思うところです。

スポンサード リンク
[ 6月12日全て ]

2017年1月28日 (土)

サードパーティーアプリからは Medium のストーリーはポストしかできない

昨年10月にサインアップした Medium、何か書くのに良さそうなプラットフォームだとは思っているのですがまだ活用できてません。

UlyssesiA Writer から直接下書きを投稿できるので、うまく使えないかとちょっと試してみました。しかし結局下書きを投稿できるに過ぎないんですよね。まあ Medium 側がポスト(ストーリー)について POST しか API を提供していないので仕方がない訳ですけれども。

UlyssesiA WriterMarkdown 形式で書いて一度 Medium に上げた下書き(やそれを公開したもの)について、再度手元で修正して反映させることができません。

一度 Medium に送ってしまったら、あとは「手元の原稿と Medium 上の記事を同じように手で修正する」か「再度 Medium に新しい草稿として上げて Medium 上でまるっとコピー&ペーストする」とかしかないです。残念。

[ 1月28日全て ]

2017年9月29日 (金)

初全ツイート履歴ダウンロード

自分の Tweet は API で取ってきておおむね nDiki の記事にまとめてあるのですが、使い始めの頃はそんなことをしていなかったので手元にデータとして取ってありませんでした。公式機能で全ツイート履歴ダウンロードができるのは知っていましたがそのうちと思いつつずっとやり忘れていたので、ようやく腰を上げて全ツイート履歴リクエストを設定からしてみたところ、ほどなくして準備完了のメールが届きました。

ダウンロードした ZIP ファイルの中をみると、予想していた通り人間用に HTML ファイルがありました。そしてそれ以外に CSV 形式ファイル・JSON 形式ファイルが含まれていてきちんと利用しやすい形になっていて良くできているなと感心してしまいました。良いですね。

きちんと README.txt をみてみたら HTML ファイル (index.html) は JSON 形式ファイルを読んで表示するページになってました。なるほど。API のレスポンス仕様と同じ JSON 形式をエクスポートデータにしているのですね。

[ 9月29日全て ]

2018年2月28日 (水)

GitHub Flavored Markdown ファイルの Web ブラウザでのプレビューに Grip を使う

Markdown で書いているノートを Web ブラウザで見るのに MkDocs を使う」とつぶやいたら @bsdhack 氏が Grip を紹介してくれました。

さっそく試してみました。

 $pip2 install grip

でインストールしたら Markdown ファイルを指定して Grip を起動します。

 grip index.md

Grip が http://localhost:6419/ で Web サーバとして立ち上がるので Web ブラウザでアクセスすると index.md の HTML 変換されたものを見ることができます。なお

 grip -b index.md

とすれば起動と同時に Web ブラウザで開いてくれます。URL でパスを指定すればそのまま同じ/サブディレクトリにある Markdown ファイルもプレビューできるので、ハイパーリンク付けをしておくことでドキュメント群をブラウジングすることもできます。なるほどお手軽で便利。 GitHub 上とほぼ同様の見慣れたデザインになるのがいいですね。

そもそも Grip は「GitHub Readme Instant Preview」で GitHub 上での表示確認のためのツールで、 GitHub の REST API を使ってレンダリング結果を生成しているので当然といえば当然だったりはします。

ただそのかわり GitHub の API を使うので

  • オフラインでは使えない(オフラインレンダリングは開発中)
  • 外部サービスを使って変換させたくないドキュメントには使えない

と場合によっては不便な部分があります。なお後者については GitHub Enterprise があるなら Grip でそちらを指定するとう手もあります。

GitHub に push する前にチェックしたい時はもちろん、それ以外でさっと Web ブラウザで見てみたい時にも便利なツールですね。

[ 2月28日全て ]

2018年5月10日 (木)

今日のさえずり: 「和風カツ弁当」を「和風とは?」と思いつつ食べた

2018年05月10日

[ 5月10日全て ]

2018年5月30日 (水)

2018年05月30日(水)の #nNote

2018年8月16日 廃止予定の Twitter API

User Streams API : GET user
Site Streams API : GET site

2018年6月19日 廃止予定の Twitter API

POST direct_messages/new

https://api.twitter.com/1.1/direct_messages/new.json

GET direct_messages/show

https://api.twitter.com/1.1/direct_messages/show.json

GET direct_messages

https://api.twitter.com/1.1/direct_messages.json

GET direct_messages/sent

https://api.twitter.com/1.1/direct_messages/sent.json

POST direct_messages/destroy

https://api.twitter.com/1.1/direct_messages/destroy.json

[ 5月30日全て ]

2018年10月30日 (火)

JavaScript コードで TaskPaper ファイルにノートを挿入する

ちょっとしたメモを Alfred for Mac から一発で TaskPaper ファイルに挿入したい。Packal 上に TaskPaper のための多機能な Alfred Workflow があるので入れたんだけれど、うまくタスク追加ができないことがあるので、自前でスクリプトを作って Alfred から呼ぶことにした。

TaskPaper ファイルはテキストファイルなので書き慣れている Perl でスクリプトを書いてもいいんだけれど、 編集の競合が避けられるし parser も書かなくて済むしということで TaskPaperAPI を使うことにした。

JavaScript for Automation (JXA) を使えば JavaScript コードで TaskPaper API を呼べるっぽい。

以下指定した TaskPaper ファイルに Inbox: プロジェクトがなければ追加した上でその子供としてノートを挿入するコード(エラー処理割愛。実際にはタイムスタンプとかもノートにつけるようにした)。

 #!/usr/bin/env osascript -l JavaScript

 function TaskPaperContext(editor, options) {
   let inbox = editor.outline.evaluateItemPath("//Inbox:")[0];
   if (!inbox) {
     inbox = editor.outline.createItem("Inbox:");
     let projects = editor.outline.evaluateItemPath('@type = project')
     if (projects.length == 0) {
         editor.outline.root.appendChildren(inbox)
     } else {
       editor.outline.root.insertChildrenBefore(inbox, projects[0]);
     }
   }

   let items = ItemSerializer.deserializeItems(options.text, editor.outline, ItemSerializer.TEXTMimeType)
   editor.setCollapsed(items[0])
   inbox.appendChildren(items, inbox.firstChild)
 }

 function run(argv) {
   Application('TaskPaper').open(argv[0]).evaluate({
     script:TaskPaperContext.toString(),
     withOptions: {text: argv[1]}
   })
 }

これを inbox.scpt というファイルで保存し実行権限を与えれば

 ./inbox.scpt $HOME/tmp/test.taskpaper こんにちはこんにちは!!

という感じで呼び出せるようになる。

あとは Alfred Workflow を作ってそこからこのスクリプトを実行すれば OK だ。

[ 10月30日全て ]

2019年2月22日 (金)

今日のさえずり: はやぶさといえば「手動サーチエンジンはやぶさ」

2019年02月22日

  • 07:59 はやぶさといえば「手動サーチエンジンはやぶさ」 #はやぶさ2
  • 09:49 平成31年2月22日 #朝の渋谷 222 DSC-RX0 #RX0 https://t.co/yn3AjA43te
  • 12:30 RICOH GR III の発表来たかー(注文した)。
  • 14:45 Product Advertising API 厳しい。「まず決めたのは、PA-APIとの決別でした。PA-APIは規約が厳しいことで有名で、懸念となっていました。」 / “カエレバ誕生秘話と最近の仕様変更、そして今後について” http://bit.ly/2T4EJJa
  • 19:32 Alfred で ↑ ヒストリ出すやつ、確定実行しなかったやつも残ってるんだ!
  • 20:38 「今日はハッピーフライデーだ」で通じた(すぐツッコまれたけど)。
[ 2月22日全て ]

2020年4月16日 (木)

Chrome の Picture-in-Picture Extension で Google Meet動画を最前面に

Slack コール(ビデオ通話)では動画表示用の小さいウインドウが最前面で表示される。これを MacBook Pro 内蔵ディスプレイの上部中央、内蔵カメラの直下に配置すると自然とカメラの方に視線が行くようになる。 one-on-one ミーティングなど視線を大切にしたい時に便利だ。

一方最近使っているビデオ会議ツール Google Meet (旧 Google Hangouts Meet) は Google Chrome でアクセスして使う形(Mac)のため同じことができない(Meet を開いているウィンドウは Chrome の装飾がついて大きいし、特定の Chrome のウィンドウだけを最前面に置くこともできない)。

なんかいい方法ないかなと思っていたところ Picture-in-Picture Extension (by Google) という Google Chrome 拡張機能を発見。

Google 公式の拡張機能だ。これを使うと Picture-in-Picture Web API に対応している YouTube などのサービスの動画部分をフローティングウインドウとして最前面に表示させることができる。Google Meetビデオ会議ページで使ってみたところ、動画部分をフローティングさせられた。1対1で画面共有無しの場合はこれでいけるぞ。

[ 4月16日全て ]

2021年2月4日 (木)

Google ドライブ拡張子 md の Markdown ファイルを全文検索できるように rclone でコピーする

拡張子 md の Markdown ファイルを「バックアップと同期」アプリで新規に同期したり、 Web 版の Google ドライブアップロードしたりすると MIME タイプが text/markdown となり全文検索対象にならない。不便。

StackEdit は Google ドライブに送る時の MIME タイプを設定で text/plain を選べるようにすることで問題を回避しているようだ。

rclone で text/plain で Google ドライブアップロードする

クラウドストレージ上のファイルを管理するためのコマンドラインプログラム rclone でアップロードするとどうだろうと思ってやってみたところ、ちょっと設定をいじれば拡張子 md の Markdown ファイルを text/plain で Google ドライブアップロードできることがわかった。

rclone では Google Drive API で新しいファイルを作成する際に、rclone 側で MIME タイプを判定している。内部的には Go の mime パッケージを使っている。

このパッケージは UNIX 系の環境では mime.type ファイルがあれば参照するようになっていたので macOS Catalina にあった /etc/apache2/mime.type ファイルの text/plain 行に md を追加して試したところ、めでたく text/plain として Google ドライブアップロードできた。全文検索対象になることも確認。

ちなみに「バックアップと同期」アプリは /etc/apache2/mime.type 変更の影響を受けなかった。

rclone での方法が分かったわけだけれど、実際のところ Markdown ファイルの Google ドライブとの同期や読み書きを rclone だけに限定するわけにもいかないな。引き続き拡張子 txt で管理するのが現実的のようだ。

[ 2月4日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

月別インデックス
Process Time: 0.080561s / load averages: 0.42, 0.30, 0.28
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker