unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Google Cloud Print APIを使った印刷手順

最近はどのプリンターもインターネットに繫がっているのが当たり前になって来ています。Webサービスを作るときにバックグラウンドでプリンターに印刷ジョブを投げれたらいいなというケースがいくつかあったので、その手段の一つとしてGoogle Cloud Print APIを調べてみました。

Google Cloud Print APIを使ってWebページを印刷する手順

(0) Google API ConsoleでクライアントIDとクライアントシークレットを取得する

(1) 認可画面を出力し、ユーザーから認可をもらう

https://accounts.google.com/o/oauth2/v2/auth?
redirect_uri={登録したリダイレクトURI}&
response_type=code&
client_id={発行されたクライアントID}&
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloudprint&
access_type=offline

(2) リダイレクトURIにて認可コードを受信し、アクセストークンを取得する

  • リダイレクトURIのcodeパラメータに認可コードが付与されてリダイレクトされて来ます。
  • URIから取得した認可コードをToken Endpointに送信し、アクセストークンを取得します。
リクエスト

POST https://www.googleapis.com/oauth2/v4/token
Content-Type: application/x-www-form-urlencoded

code={認可コード}&
client_id={発行されたクライアントID}&
client_secret={発行されたクライアントシークレット}&
redirect_uri={登録したリダイレクトURI}&
grant_type=authorization_code

レスポンス

{
  "access_token": {アクセストークン},
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": {リフレッシュトークン}
}

(3) プリンター検索APIを呼び出し、印刷したいプリンタのプリンタIDを取得する

リクエスト

GET https://www.google.com/cloudprint/search
Authorization: OAuth {アクセストークン}

レスポンス

{
    "printers": [
    {
        "id": {プリンタID},
        "displayName": {プリンタの表示名},
        ...
    }]
        ...
}

(4) プリンタジョブ送信APIを呼び出し、印刷を実行する

  • 例)URLを指定してそのWebページを印刷するリクエスト
POST https://www.google.com/cloudprint/submit
Content-Type: application/x-www-form-urlencoded

printerId={プリンタID}&
title={印刷タイトル}&
contentType=url&
content={印刷するURL}&
ticket={チケットオブジェクト}
{"version":"1.0","print":{"vendor_ticket_item":[],"color":{"type":"STANDARD_MONOCHROME"},"copies":{"copies":1}}}

参考

成田・サンフランシスコ間航空機の荷物制限

成田からアメリカへのフライトの際にできる限り多くの物を持っていこうと、成田・サンフランシスコ間を就航している航空会社の荷物制限を調べていました。どなたかの参考になるかもしれないので、載せておきます。

  • アメリカン航空
    • 手荷物の制限:23kg/個、158㎝/個
    • 無料範囲:2個
    • サイズ超過:最大320cm/個(230cm以上は要問合せ)
    • 重量超過:最大45kg/個(32kg以上は要問合せ)
    • 数量超過:特に規定なし
  • ユナイテッド航空
    • 手荷物の制限:23kg/個、158㎝/個
    • 無料範囲:1or2個
    • サイズ超過:最大292cm/個
    • 重量超過:最大43kg/個
    • 数量超過:一部路線では3個まで
  • 全日空
    • 手荷物の制限:23kg/個、158㎝/個
    • 無料範囲:2個
    • サイズ超過:最大320cm/個
    • 重量超過:最大45kg/個
    • 数量超過:特に規定なし

H2O Wireless Voice Mail設定

北米に来てから日本で購入・アクティベートしたH2O Wirelessを活用していますが、しばらくVoice Mailの設定ができないでいました。というのも、私の場合はKDDI Mobileのマニュアルの方法では設定ができなかったのです。

色々と調べてみた結果、以下の手順で設定できることがわかりました。

  • マニュアル中の「5. 留守番電話(ボイスメール)の設定 (1) 留守番電話に接続」の手順を以下の通り変更する。
    • 変更前:「1」の長押し、または「1」をダイヤルする
    • 変更後:自分の電話番号にダイヤルする

その他パスコードのリセットなど、Voice Mail機能の操作手順はH2O Wireless FAQの「Q. How do I access my H2O Wireless Voice Mail?」が参考になります。

日本国内で購入できるアメリカ用SIM

日本国内で購入できる、アメリカ国内通信・通話SIMを調べました。(現地でも調達できるのですが、入国・帰国時の契約の手間を少なくするため)
私の場合は、日本でのアクティベーションができること、日本固定電話通話無料が決めてでH2O Wirelessを契約しました。

Vim:ファイルを関連付けられたプログラムで開く

簡単なレポートはWordなどを使わずテキスト形式でまとめてしまうことが多いです。レポートを書いているときによくあるのが、テキストに画像などのファイルを埋め込みたい(ファイルへのリンクを貼りたい)というものです。調べてみたところカーソル下のファイルパスを関連付けプログラムで開く、ということができたのでご紹介します。

できること

ノーマルモードで「fo」(file openの略称のつもり)を入力すると、カーソル下にあるファイル名を関連付けられたプログラムで開く。

vimrcに設定すること

noremap fo :silent ! start <cfile> <CR>

簡単な解説

要素 説明
silent プロンプトを表示せずにコマンドを実行する。
! 外部プログラム(コマンド)を実行する。
start ファイルを関連付けられたプログラムで開く。
<cfile> カーソル下にあるファイル名を参照する。

参考

ドル決済できるクレジットカード

アメリカは少額の支払いにもカードを利用するクレジットカード社会という話をよく聞きます。日本で発行したクレジットカードもたいてい利用できるようですが、赴任等で長期滞在する場合は為替差損や手数料が気になるところです。

そこで、アメリカのクレジットヒストリーがなくても申し込みできるドル決済可能なクレジットカードをまとめてみました。

カード会社 年会費 キャッシュバック 備考
ANA CARD U.S.A. $70 1$->1m m:ANAマイル
Premio CARD $0 / $50 - / 1$->1p p:独自ポイント
JAL USA CARD $20 / $70 2$->1m / 1$->1m m:JALマイル

ちょうど初年度年会費キャッシュバックキャンペーンをやっていたため、私は3つとも申し込みました。(申し込み手順や申請サイトのデザイン、電話での質問内容は3つともほぼ同じでしたので、どうやら発行関連の運営会社は同じのようです…。)

Winows 10 で最初に設定したこと

3年ほど使っていたノードPCですが、いよいよバッテリーがへたってきたので、新しく買い換えました。まっさらなWindows 10 環境からセットアップし直したので、初期化時のために最初に設定したことをまとめておきました。

  • 不要なプリインストールプログラムを削除する
    • 「プログラムの追加と削除」を検索して実行する。
    • サイズで並び替えに切り替え、不要そうなプログラムを削除する。
  • デスクトップのごみ箱アイコンを削除する
    • ごみ箱をエクスプローラのお気に入りに追加する。
    • 「デスクトップアイコンの表示または非表示」を検索して実行する。
    • デスクトップアイコンから「ごみ箱」のチェックを外す。
  • ファイルの拡張子を表示する
    • エクスプローラ オプション」を検索して実行する。
    • 「表示」タブの「ファイルとフォルダーの表示」で「隠しファイル、隠しフォルダー、および隠しドライブを表示する」にチェックを入れる。
  • ログイン時のパスワード入力を省略する
    • ファイル名を指定して実行するから「netplwiz」を実行する。
    • 「ユーザーがこのコンピューターを使うには、パスワードの入力が必要」のチェックを外す。
  • キー配置を入れ替える
    • レジストリ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout にScancodeMapを設定する。
  • 効果音を消す
    • 「サウンド」を検索して実行する。
    • 「サウンド」タブのサウンド設定を「サウンドなし」に変更する。
  • 電源オプションを設定する
    • 「電源オプション」を検索して実行する。
    • 詳細設定で以下の設定に変更する。
      • 復帰時のパスワードを必要とする:いいえ
      • ディスプレイ>次の時間が経過後ディスプレイの電源を切る:60分
      • スリープ>次の時間が経過後スリープする:バッテリ なし/電源 なし
      • スリープ>次の時間が経過後休止状態にする:バッテリ 120分/電源 なし
      • カバーを閉じたときの動作:何もしない
      • 電源ボタンの操作:休止状態