2010年12月

EvernoteへのAPI申請方法

EvernoteのAPIを使用するには申請が必要です。こちらのサイトから申請します。
Evernote API Overview | Evernote Corporation

・サイトに必要事項を入力すると、Evernote Supportへの問い合わせ扱いになります。
・数日するとメールが来て、「consumer key」と「consumer secret」が送られてきます。
・この状態では、このkeyはsandbox内でしか使用できません(sandboxは通常のEvernoteとは独立しているので、実験用にアカウントを作る必要があります)。
・このAPI Keyを本番環境で有効にするには、Evernote Supportにメールする必要があります。
・本番環境で使えるようにして下さい、とだけ書いてメールしたら

Entatsu-san,

We are pleased to hear that your application is ready to release.

Before we can enable your API key, we need to confirm an identity of your organization. The easiest way is for you to send us an email from a domain on which you are going to provide the service. When you send it, please include your Evernote username with it. Unfortunately we can not identify you and your organization with a public email address.

Evernote Support

と言われました。適当に翻訳すると、「身元確認させて下さい。最も簡単な方法は、あなたのサービスのドメインから、あなたのEvernoteアカウントを書いて、メールをする事です。フリーメールではダメですよ」という内容。
・いや、私が作ってるのweb applicationではなくてcliant applicationです。ドメインも持ってないです。。
・Evernoteに対してメールを送りました。メールには、今どのアプリを作ってるか、その開発者が私である事の証明、どんな事でEvernoteと連携するか、という事を書きました。
・4日程で返信があり、無事に本番環境でのAPIが有効になりました。

最初から丁寧に使用目的等を書けば、面倒なメールのやり取りは無かったのかもしれません。それにしてもEvernoteは丁寧に対応して頂きました。ありがとうございます。

iPhoneアプリ「CheckTrend」をバージョンアップしました(ver1.2)


「CheckTrend」のバージョンアップを行いました。これでバージョン1.2です。こちらからダウンロードできます。
iTunesでダウンロード

■更新点
・リストから広告を削除
・twitter・Facebook等への投稿が可能になりました!(ShareKitを使用させて頂きました)


■アプリについて
流行キーワードを一覧で表示するアプリです。手早く今話題の事を知るのに特化しています。
Googleトレンド(毎時更新?)
Yahoo!急上昇ワードランキング(ほぼ毎日更新)
MSN気になる言葉週間急上昇ランキング(毎週更新)
buzztter(twitterで呟かれている言葉。ほぼリアルタイム)
Amazon.co.jp本のヒット商品 (過去24時間で最も売上が伸びた商品)
と、更新頻度の異なるサービスを混ぜたので、広く流行や関心事がわかります。

今回のバージョンから、見ているページを様々なサイトに投稿できるようになりました。対応しているのは以下のサービスです
・Twitter
・Facebook
・Tumblr
・Delicious
・Google Reader
・Instapaper
・Pinboard
・Read It Later
・メールで送信
これらはShareKitにより実現しています。
現在、ログアウトを実装していません。なので、複数のアカウントを使い分けている人、すみません。


■英語版
このアプリは英語版も同時にリリースしています(iPhoneの言語設定を英語にすれば見れます)。英語版では、
・キーワードを機械翻訳により日本語と英語で同時に表示
・キーワードをタップすると、Google Translateを使って英語に翻訳したサイトに接続
という動作をします。

■イメージ
ssJ-v12-01 ssJ-v12-02 ssJ-v12-03 ssJ-v12-04


■その他
・データ取得や切りかえのタイミングにより、データに数時間程度の遅れがある場合があります。
・接続が遅い場合はアプリの再起動で直る場合もあります。すみません・・・。

■今後やりたいこと
・非同期通信の実装(最重要!)
・デザイン
・インジケータ表示

Evernoteへテキストメモや過去のメールをインポートする方法

【2011.05.03追記】
かなり良い方法を見つけたので、この記事の情報は古いものになりました。詳細はこちら。
Evernoteに過去のメールをインポートする方法 - えんたつの記録

=====追記ここまで=====

【やりたい事】
自分のGmailに入ってるメールや、ローカルにあるテキストメモを、全てEvernoteに入れたい(環境はWindowsです)。


【結論】
メールは1通1通をThunderbirdから「ImportExportTools」というアドオンで個々のhtmlファイルにしといておく。そしたらテキストメモとかと一緒にEvernote ver3.5のクライアントのメニューで「ツール」⇒「フォルダーをインポート」。
かなりダサい方法ですが、これが最もまともに動作します。なお今回はメールについて書きましたが、テキストメモではENScript.exeを使う方法があるようです。


【前置き】
Evernoteに入れたいのは、ほとんどが「あとで読む」によりgmailに保存したもので、中身はhtml。どちらも手作業でやりたくない量なので、どうやれば自動化できるのか考える。
Evernoteのアドレスにメールを送る設定にすれば良さそうですが、それだと今までに受信したメールはEvernoteに入れられません。)

Evernote⇒Gmailをやっていらっしゃる方は見つけましたが、Gmail⇒Evernoteが見つからないのです。.enexと.emlを相互に変換するソフトか何かあれば解決するのですが…。僕の検索不足なだけで、あっさり解決しそうな予感。

参考:
EvernoteからGMailへ移行するツールを作ったが・・・ -- 仕事を早く.正確.カンタンにするツール職人 -DocuWorks(R)用プラグイン,フリーソフト,ペーパーレス-
EvernoteをやめてGmailへ: Shu's blog 雌伏編


【メール転送を使う】
メールをEvernoteのアドレスに転送する。
上手くEvernoteへデータ移行できますが、1通1通手作業でやらなくてはなりません。ちょっとデータを追加したい時には便利。


【複数メールを転送】
Thunderbirdにて、複数メールを選択⇒右クリック⇒「添付として転送」を選択。
これにより、メールにhtmlファイルが添付された形になり、何通かずつEvernoteのアドレスにメールを転送する事ができます。
Evernote上では、添付したメールは1つのノートになります。(3通添付したら、3つが連結されて1つのノートになる。)これはこれで便利そうですが、今回の用途には適していません。
添付ファイルの容量制限に注意。



【メールをhtmlファイルにしてからEvernoteに読み込ませる】
直接メールを読み込ませるのが面倒なので、一括でhtmlに変換し、それをインポートする事にします。
Thunderbirdに「ImportExportTools」というアドオンを入れ、必要なメールをhtmlに一括出力。

出力したいフォルダを右クリック→「インポート・エクスポート」→「フォルダ内のすべてのメッセージをエクスポートする」→「HTML形式」で、フォルダの中身が一括でhtmlになります。


○Evernote ver4.1のクライアントにおいて
(version4.1.0.3345において実験)
「ツール」⇒「インポートフォルダ」からファイルを一括でインポートできます。
しかし、元のファイルがテキストだろうがhtmlだろうが、読み込むもののノートの中が読めない、検索対象とならない、という現象が発生します。添付ファイルとしてインポートされるようです。これでは使いものになりません。

僕の環境が原因なのではなく、他の人もそうなっているようです。参考
この記事では3.5の挙動が問題になっていますが、僕の環境では3.5は正常に動作するようです。この調子で正常にインポートしてくれるのがベストなんですけどね。



○Evernote ver3.1のクライアントにおいて
クライアントの「File」⇒「Import」⇒「File Import Wizard」からファイルを一括でインポートできます。
インポートすると、ファイルに文字化けが起きているようです。

これは文字コードの問題のようです。
「SHIFT-JIS」のファイルは読み込み可能で、「UTF-8」のファイルは読み込み不可、という事みたいです。
(僕の環境で実験したらそうなりました。調べてみると、ファイルのインポート時はこれで合ってるけど、webからのクリップ時には逆らしいです。よくわからない事になっています。)
参考
ChangeLogメモをEvernoteに一本化した ? tune web
Twitter / @M. E. Hori: Evernote の ShiftJIS (?)文字化 ...
EvernoteでShift JISページをクリップ: 永遠ログ

なので、文字コードを変換して読み込ませましょう。こちらの「KanjiTranslator(http://www.kashim.com/kanjitranslator/)」で文字コードを一括変換できます。(設定は、Shift JIS、改行=CR+LF)

しかしこのままでは、htmlファイルに書かれた文字コードと実際の文字コードが食い違う事になります。(※「あとで読む」サービスを通すと、文字コードが全部「UTF-8」になり、htmlの最初に「<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />」等のコードが入る。)
かなり気持ち悪いので、複数のテキストファイルを一括処理できるソフトを探して、この部分を修正しましょう。

何種類かフリーソフトがありますが、今回は「 Grep and Replace」でやってみました。
フォルダを指定して「<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />」を「<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />」に一括置換。

この方法、基本的に上手く行くのですが、100%上手く行く訳では無いようです。先ほどの文字コードの変換で上手く行かなかったファイルは、この段階で変な事になります。現在、解決策は見つかっていません。

この方法でEvernote3.1のクライアントでインポートすれば、無事にファイルがEvernoetにクリップされます。検索精度が引い気がするものの、検索も正常に行えます。
問題は、ノートにタイトルがつかない事。テキストファイルをインポートした場合、1行目がノートのタイトルになります。しかし、htmlファイルをインポートすると、ノートにタイトルがつきません。ファイル名とかもつかないです。


○Evernote ver3.5
「ツール」⇒「フォルダーをインポート」からフォルダを指定すれば、htmlファイルも一括で読み込む事が可能でした。
一括で読み込み可能で、ファイル名も正常。最もスムーズに移行できました。
ただし、一部のファイルが正常に読み込まれ無いです。おそらく、元々のhtmlに文字化けがあるとそこで読み込みが止まってしまうか、全く読み込まれないようです。元々ファイルが壊れているようなものなので、仕方ないですね。後から修正しましょう、

どのファイルが正常にインポートされたのかを判断するには見た目に頼るしか無いようです。クライアントのサムネイルが空になっているのが正常にインポートできなかったやつなので、それを目視で探し、ノートを適当に変更します。この修正の手間があったとしても、かなり楽に登録できるのは確か。


○ENScript.exeを使う
紙copi から Evernote への移行 - すけ
Evernote for Windows付属のENScript.exeを使う | DIGINOIZ:NET 3rd

こちらのサイトで紹介されている方法を使います。今回はテキストファイルではなくhtmlファイルをインポートするので、その部分だけ修正して実行。Evernoteのバージョンは、記事の通りに3.5にしました。
ですが、拡張子がhtmlのファイルには対応していないようです。残念。


【まとめ】
このようにEvernoteはデータインポート機能ではまだまだです。他のサービスから乗換を考えるなら、データインポート機能は必須だと思うのですが・・・。今後の改良に期待しましょう。



【追記】
Mac環境の場合、このような方法があるそうです。
iPhone のテキストメモ(ノート)を Evernote へ簡単に移行する方法 | ogaoga.org
このサイトについて
Webアプリケーション開発のことや、iPhone・Android向けアプリ開発の話題が中心です。
管理:えんたつ twitter: @tattyamm
mimage
一部のリンクにはアフィリエイトが含まれます。
カテゴリ別アーカイブ
RSS
プログラミング本
古い本含めてメモです
iPhoneプログラミングUIKit詳解リファレンス iPhoneプログラミングUIKit詳解リファレンス Android Layout Cookbook アプリの価値を高める開発テクニック パーフェクトPHP (PERFECT SERIES 3) JavaプログラミングBlack Book 2nd Edition (Black Bookシリーズ)
表記
当サイトではGoogle Analyticsを使用しております。詳細はこちらを御覧ください