chrome.identity APIを使ってGoogle App Engine OAuth2を使う

2015-04-22T00:00:00+09:00 Java Google App Engine JavaScript Chrome Extension

参考: http://www.ciiycode.com/0z6ziWjWxjjP/google-app-engine-oauth2-provider

Google Account OAuth1.0aがdeprecated化したのがつい先日くらいの話なので、そのまま放置しておくと問題にもなりそうなので検証してみる

chrome.gcm

2014-10-24T00:00:00+00:00 Chrome Extension JavaScript Java

参考1: https://developer.chrome.com/apps/cloudMessaging

参考2: http://docs.monaca.mobi/3.5/ja/manual/backend/push_config/gcm/ (※主に設定の有効の仕方等)

ちょっと前にはchrome.pushMessagingっていうAPIが公開(って言っても一年以上前)されてたはずなのですが、現在これがどうもlegacy扱いになっている模様で現在はchrome.gcmを使うのが良いっぽそう。確かpushMessagingの方はwebstoreを経由してインストールしたアプリで無いと使えないのかどうかまでは覚えてないが、gcmはcrxパッケージングした拡張であれば使う事が可能らしい

っていう事でやってみた

※おそらくはChrome Sync(ChromeでのGoogleアカウントのログイン機能)をやっておかないと出来ないのかも知れない

selenium-webdriverを使ってChrome Extensionのテスト

2014-04-05T00:00:00+00:00 Chrome Extension JavaScript Node.js

selenium-webdriverを使えばChrome Extensionの操作テストとか出来たりする模様なのでやってみた

Chrome拡張のブラウザアクションなアイコンを回転させる技

2014-02-22T00:00:00+00:00 Chrome Extension JavaScript

Google公式なGmailな拡張ではメールを受信したりするとブラウザアクションなアイコンが回転するようになっている。これどうやってやってるのか非常に気になったのでその拡張のソースを見てやってみた

Chrome Native Messaging

2014-02-08T00:00:00+00:00 C++ Chrome Extension JavaScript

https://developer.chrome.com/extensions/messaging.html#native-messaging っていうのがある模様なので色々やってみた

angular.js+chrome_ex_oauth

2013-11-18T00:00:00+00:00 angular.js Chrome Extension JavaScript

angular.jsを使いつつ、chrome_ex_oauthを使ってTwitter APIを使うデモとか出来るんじゃないかなーって思ってやってみた

Event Pagesでchrome.contextMenus

2013-11-03T00:00:00+00:00 Chrome Extension JavaScript

以前作った https://github.com/kinjouj/chrome-extension-twify で説明する

Chrome Extension+Google App Engine(+OAuth)

2013-08-18T00:00:00+00:00 Chrome Extension Google App Engine

http://blogs.dion.ne.jp/kotemaru/archives/10093611.html

を参考にすれば良い。でサーバー側はOAuthServiceクラスを使ってOAuth利用による通信であるかっていうのを検知するような方式を利用する

で問題はそれをどうやってChrome Extensionで行うかって所だと思いますけど、一応公式的にはchrome_ex_oauthっていうのを使って利用可能な模様

という事でやってみた

chrome.pageLauncher

2013-03-31T00:00:00+00:00 Chrome Extension JavaScript

っていうのが追加されている模様。但し、stableなやつでもAPI自体はあるけど実際に使うとなるとこの記事の書いてる段階だとunstableじゃないと出来ない

crxmakeを使ってChrome Extensionをビルド

2013-03-14T00:00:00+00:00 Chrome Extension Ruby

Chrome Extensionをビルド(.crxを生成する)する際にはChromeなどの拡張管理から生成出来たりできますけど、crxmakeを使うとコマンド使ったりだとかRubyのRakefileにタスク定義するだけで生成出来る模様

chrome.appなPattern&Practice

2013-03-08T00:00:00+00:00 Chrome Extension JavaScript

Chrome Extensionとかだとウィンドウ出してなんか出すっていう場合だとブラウザアクションとかが良くありえるパターンだと思うのですが、 https://github.com/GoogleChrome/chrome-app-samples によるとchrome.app.windowなのを作ってアプリの画面を新しいウィンドウを作ってそこに出すっていうパターンもある模様。

chrome.extension.onMessageとsetTimeout

2013-01-30T00:00:00+00:00 Chrome Extension JavaScript

https://groups.google.com/group/chrome-api-developers-jp/browse_thread/thread/80b45919bb86f9a0 という問題があるっていうの目にしてはいたけど実際実検証とかしてなかったのでメモ

NPAPIをざっくりやってみる (1)

2013-01-24T00:00:00+00:00 C++ Chrome Extension JavaScript NPAPI

多分続編はあると思います。まだ色々やってない事も沢山あるので

Chrome Extension開発を勉強してみる (23) - Event Pages -

2012-12-17T00:00:00+00:00 Chrome Extension JavaScript

何やらそういう仕様がある模様で。詳しい概要は省略するけど、要は「常に常駐しないバックグラウンドページ」っていう感じな模様

Chrome Extension開発を勉強してみる (22) - chrome.alarmsを使う -

2012-12-16T00:00:00+00:00 Chrome Extension JavaScript

Chrome Extensionで定期実行処理をやる場合だとchrome.alarmsを使う方が良い模様(理由はEvent Pagesに関係する模様。これに関しては後日)

でchrome.alarmsはバージョンによってはexperimentalになってたりする。例えばUbuntu12.04でChromiumだとchrome.alarmsはexperimentalでChromeだと正式で使用できる。又、ChromiumとかだとperiodInMinutesが使用できないとか色々あるみたいで

ということでminumum_chrome_versionを23辺りに設定して使う

Chrome Extension開発を勉強してみる (21) - chrome.experimental.commands - の補足

2012-12-03T00:00:00+00:00 Chrome Extension JavaScript

どうやら独自のショートカットだけでなく、Browser ActionやPage Action等のショートカットも設定出来る模様

Chrome Extension開発を勉強してみる (21) - chrome.experimental.commands -

2012-10-10T00:00:00+00:00 Chrome Extension JavaScript

を使えば簡単にブラウザにキーボードショートカットを定義出来る模様

Chrome Extension開発を勉強してみる (20) - chrome.experimental.identity -

2012-09-30T00:00:00+00:00 Chrome Extension JavaScript

chrome.experimental.identityを使う事でGoogle APIsを使う際にアクセストークンを取得したり出来るらしい。っていうかそもそもがmanifest_versionが2からは外部URLのスクリプトをロードするのですらCSPにより制限されているので(ry

Chrome Extension開発を勉強してみる (19) - chrome.experimental.socket -

2012-09-27T00:00:00+00:00 Chrome Extension JavaScript

chrome.experimental.socketなAPIを使って、TCPサーバーと接続してみる

Chrome Extension開発を勉強してみる (18) - chrome.experimental.infobar -

2012-09-26T00:00:00+00:00 Chrome Extension JavaScript

chrome.experimental.infobarなAPIを使ってみる

Chrome Extension開発を勉強してみる (17) - oauth.jsを使ってDropbox API -

2012-08-20T00:00:00+00:00 Chrome Extension JavaScript

タイトル通り。Chrome Extensionでoauth.jsを使いDropboxのアプリ領域なストレージにアクセスしてみる

Chrome Extension開発を勉強してみる (16) - chrome.extension.connect -

2012-08-17T00:00:00+00:00 Chrome Extension JavaScript

chrome.extension.connectを使って、chrome.extension.sendRequestやonRequest等と同様な事をやってみる

Chrome Extension開発を勉強してみる (15) - chrome.storageを使う -

2012-08-14T00:00:00+00:00 Chrome Extension JavaScript

※Chromeのみ対応でChromiumは非対応な模様 (Daily Build版のやつは未検証)

タイトル通り、chrome.storage APIを使ってみた

Chrome Extension開発を勉強してみる (14) - file:// へのアクセスに関して -

2012-08-08T00:00:00+00:00 Chrome Extension JavaScript

permissionsに設定すればfile://なスキームアクセスも可能なのだけど

"manifest_version: 2"とContent-Security-Policy

2012-08-06T00:00:00+00:00 Chrome Extension JavaScript

前記事のChrome ExtensionでTwitter OAuthを利用してAPIを利用するっていうデモにおいて、manifest_versionを2にすると動かないっていうのが判明。理由がContent Security Policy(CSP)っていうのにひっかかるかららしい。例えば

Chrome Extension開発を勉強してみる (13) - oauth.jsでTwitter API -

2012-08-02T00:00:00+00:00 Chrome Extension JavaScript

oauth.jsを使ってTwitter APIを利用するのは前にもやったのですが、その際にはAccess Tokenをhttp://dev.twitter.comから発行してそのままコピペしてやったのでAccess Tokenを取得して云々するという所を完全にすっ飛ばした。なので今回はその処理を含めてやってみる

Chrome Extension開発を勉強してみる (12) - コンテキストメニューでブックマークを高階層で表示する -

2012-07-30T00:00:00+09:00 Chrome Extension JavaScript

単純に右クリックメニューで(ブラウザに保管されている)ブックマークが見れるようにする。で前回に書いたようにメニューをネストしつつ表示出来るようにしてみる

Chrome Extension開発を勉強してみる (11) - 多階層なcontextMenus -

2012-07-29T00:00:00+09:00 Chrome Extension JavaScript

というように多階層なコンテキストメニューにしたい場合

Chrome Extension開発を勉強してみる (10) - chrome.privacy -

2012-07-19T00:00:00+09:00 Chrome Extension JavaScript

chrome.privacyを用いてプライバシー情報に伴うようなデータの送信を抑制したり出来る模様。例えばリファラーを送信しないとか

Chrome Extension開発を勉強してみる (9) - webRequest -

2012-07-18T00:00:00+09:00 Chrome Extension JavaScript

webRequestを使う事でロードしている(しようとしている)のを取得したり、ヘッダーを書き換えたり出来る模様(但し、書き換えられるヘッダーは限られるっぽい)

Chrome Extension開発を勉強してみる (8) - ominibox -

2012-07-14T00:00:00+09:00 Chrome Extension JavaScript

Chromeにはomniboxっていうアドレスバーにアクションを追加して候補を補完してくれたりする機能がありますが、これを作ってみる。

Chrome Extension開発を勉強してみる (7) - NPAPI -

2012-07-13T00:00:00+09:00 C++ Chrome Extension JavaScript NPAPI Python

nixysaを使ってNPAPIのC++なコードを拡張で使えるようにしてみる

Chrome Extension開発を勉強してみる (6) - Page Action -

2012-07-13T00:00:00+09:00 Chrome Extension JavaScript

ページアクションを使ってみる。ページアクションって何なの?として

てな感じでURLバーの右側に付けられるアイコンをクリックする事でポップアップなページを出せる事が出来る模様。但し、グローバルに常に出すような場合にはページアクションではなくブラウザアクションを採用するのが正しい模様。とりあえず上記の[S]なアイコンが出せるまでをやってみる

Chrome Extension開発を勉強してみる (5) - content script + background page -

2012-07-11T00:00:00+09:00 Chrome Extension JavaScript

コンテントスクリプトとバックグラウンドページを使って、表示画面中にある画像へのリンクをマウスオーバーした段階で別タブで開くっていうのをやってみる

Chrome Extension開発を勉強してみる (4) - onRequest+sendRequest -

2012-06-06T00:00:00+00:00 Chrome Extension JavaScript

chrome.extension.onRequestとchrome.extension.sendRequestを使って見る

Chrome Extension開発を勉強してみる (3) - 右クリック拡張でTwitter intent -

2012-05-31T00:00:00+00:00 Chrome Extension JavaScript

実際に使ってるのを例に書いてみる

要件

見ているWebサイトをTwitterのツイートフォームにタイトルとURLをツイートするのを支援する拡張機能。方式として右クリックメニューに拡張アプリのアイコンと名前を出してそれを選択する事で新しいタブにてツイートフォームのページを表示させる。サイトによっては共有ツールが無い場合があり、サイトをツイートしたりするのが何かとめんどくさいので(以前に)作ってみた

Chrome Extension開発を勉強してみる (2) - background pageでWebSocket管理 -

2012-05-28T00:00:00+00:00 Chrome Extension HTML5 JavaScript

とりあえず要件から

要件

WebSocketを使って送信されたメッセージを受信してHTML5 Web Notification?で表示する。又、サーバーがオチてる場合に再接続できる機能がある事

Chrome Extension開発を勉強してみる (1) - background_pageとgetBackgroundPage -

2012-05-21T00:00:00+00:00 Chrome Extension JavaScript

バックグラウンドページに関してなんですが、そいつ本体自体の話ではなくてブラウザアクション等からバックグラウンドページに定義されているJavaScript等を取得して実行する方法