2010年6月30日水曜日

[PHP]PEARのServices_Twitterでつぶやいたり取得したり

Wordpressの開発でTwitter連携するプラグインを開発したときのメモ。

Twitter APIを使ってつぶやけるようになるまでの流れは

  • Twitterのアカウントを取得する
  • アプリケーションを申請してAPIの認証に使うトークンを取得する
  • PHPのライブラリのインストール
  • テストコードを書いてつぶやいてみる

アプリケーションを申請するまでは前の記事を参考に。

全体の流れは下記サイトが参考になる。

ここからはPEARのServices_Twitter(v0.6.1)のインストールとちょっとした説明。

依存関係する下記モジュールもインストールする。

いずれも最新はbetaだったりalphaだったり。私の場合はダウンロードしてプラグインディレクトリに配置した。

Services_Twitterを配置するときはdataディレクトリも忘れずに。

この中にあるapi.xmlが呼び出すメソッドを格納していて、Services_Twitterはこれらの仲介役になってくれるだけ。

ドキュメントにも書いてあるけど、oAuthを使ってつぶやくサンプルコードは次のような感じ。

set_include_path( get_include_path() . PATH_SEPARATOR . 'install_dir' . '/lib' );

require_once 'Services/Twitter.php';
require_once 'HTTP/OAuth/Consumer.php';


try {
    $twitter = new Services_Twitter();
    $oauth   = new HTTP_OAuth_Consumer('consumer_key',
                                       'consumer_secret', 
                                       'auth_token', 
                                       'token_secret'); 
    $twitter->setOAuth($oauth); 
 
    $msg = $twitter->statuses->update("I'm coding with PEAR right now!");
    print_r($msg); 
} catch (Services_Twitter_Exception $e) {
    echo $e->getMessage();
}

Twitter APIのupdateメソッドを使っている。その他のメソッドはTwitter API Documentを参考に。

Services_Twitterが対応していないメソッドもapi.xmlに追記すれば対応できそう。

例えばタイムラインを取得するときは次のような感じになる。

$list = $twitter->statuses->home_timeline(array('count'=>10));

パラメーターの渡し方とかソースを読んで分かったけど、どこかに解説サイトはないものか。

 

< 2013/07/09 Modified >
GitHubで管理されているみたいで、Twitter API v1.1に対応したバージョンは下記からダウンロード出来る。

 

< Related Posts >

2010年6月29日火曜日

Twitter APIのxAuthをメールで申請・・・でも必要なかった

Twitter APIと連携するWordpressプラグインを開発するためにTwitterのxAuthを申請したときのメモ。

結局は一つのTwitterアカウントを利用するだけならoAuthでできることが分かったので以下は参考程度に。

まずなぜxAuthでないとダメ(と思った)かというと・・・

  • Wordpress MUで投稿した記事は一つのTwitterアカウントでツイートする
  • ユーザーにはoAuthで必要な認証画面は出したくない。
  • 携帯電話でも使えるようにする

各認証方式の違いは下記

認証方式 特徴
BASIC認証 ユーザー名とパスワードを使って認証する。
2010年8月末で終了
oAuth 事前にアプリケーションを申請して取得したトークンを使って認証する。アプリケーション側でユーザー名とパスワードを預かる必要がない。
ただ認証する際にユーザーにアクセス許可を確認する画面を表示する必要がある。
自分自身のアクセストークンはアプリを申請したあと、開発用Myページから取得できる
xAuth oAuthの簡易版、BASIC認証の代換。認証時にユーザー名とパスワードを使う。SSLを使うのでBASIC認証よりは安全。ユーザーに確認画面を出す必要がない。

xAuthを可能にするためにはTwitterサポートにメールで申請をしないといけない(2010/06現在)。詳しくは下記サイトを参考に

Twitter REST API Method: oauth access_token for xAuth

[dev.twitter.com]Using xAuth

クライアントアプリケーションかモバイルで利用する場合に利用できるらしい。今回はwordpressのプラグイン(webアプリケーショ)だけど、どうしてもxAuthでないとダメなのでメールでお願いしてみた。

申請のメールを送ると、すぐにサポートからメールが返ってきた。

Got it!

Your request made it to Twitter Support. Someone from our support team will review it as soon as possible.

You can review the status of your request and add additional comments by visiting support.twitter.com & clicking on "Check Existing Tickets" (in the top-right corner of the page).

Your request summary is:

「あなたの申請はTwitterサポートで受付ました。サポートチームは可能な限りすぐに確認します。あなたの申請の状況はサポートサイトにアクセスすることで確認できます。」(意訳)

メールが来て、すぐにサポートサイトにアクセスしてもticketsは登録されてなかった。しばらく様子見。

さっそく次の日の朝メールが来ていたので確認してみると、

「あなたのやろうとしていることはoauth_simgle_tokenを使えば出来るように思われますが、違いますか?」

と返事が。「何ですと!?」と調べてみると確かに出来そう。

あー、恥ずかしい。でもメール送って良かった。

サポートのメールも親切なので好印象。

2010年6月28日月曜日

WordpressのTwitterプラグインとTwitter APIのPHPライブラリ

Wordpressの記事を自動でつぶやいたり、つぶやいた記事を取得したり、フォロワーのつぶやきを収集したりするプラグインがないものかと調査。

Wordpressの公式サイトで検索するといろいろ出てくる。

いくつかソースを見てみると、Twitter APIを利用するライブラリがコアになっているみたいなので、それらを使って自作することにした。予期せぬhookやactionがあると困るしね。

PHPからTwitter APIを利用するライブラリは結構たくさんある。こちらから。

一体どれが一番いいのだろう・・・

一応PearのServices_Twitterを使うことにしたけど、自前のクラスでラップしてライブラリ自体を差し替えできるようにしといた方がよさそう。

2010年6月25日金曜日

Windows環境にGoogle App Engineの環境を整える(Python)

Google App Engine(GAE)の開発をしようと思ってインストールしたときのメモ。

公式サイトのドキュメントが十分詳しいのでそちらを参考に。

SDKのダウンロードはこちらから。SDKをインストールした後にPythonを別途インストールしないといけないと怒られたので、ActivePythonをインストール。ActivePythonはPython+便利ライブラリをパッケージしたものらしい。

GAEではPython 2.5系でないとダメみたいなので、ActivePython 2.5.5.7をダウンロード+インストール。

Google App Engine Lancherを起動して、Edit ⇒ Preferencesからパスを設定。

image

とりあえずFile ⇒ Create New ApplicationからHelloWorldを作ってみる。

image

Application Nameは英数小文字+ハイフン「-」を使う。

Parent Directoryは日本語(2バイト文字)を含まないパスを設定すること

デフォルトでHelloWorldのサンプルが作成されているはずなので、作成したプロジェクトを選択して Run ⇒ Browse で実行結果が表示される。

ここまで全部GUIでやったけど、公式サイトのスタートガイドにある「webappフレームワーク」まで終了。あとは次のステップから最後までスタートガイドをやって感覚を掴む。

ちなみにxyzzyのpythonのメジャーモード(py-mode)はnetinstallerからインストールできる。

pythonのコーディング規約は下記を参考に。

PEP 8 -- Style Guide for Python Code

PEP 8 -- Style Guide for Python Code(日本語訳)

 

<参考サイト>

PythonRecipe ...

 

<関連記事>

Google AppsでGoogle App Engineを使う
Google Apps+Google App Engineでサイト更新通知アプリ
Google Apps + Google App Engine(GAE)で伝言アプリを妄想
Emacsライクなテキストエディタ「xyzzy」

2010年6月24日木曜日

【PHP】Google AJAX Search APIを使ってニュース記事を取得

PHPでGoogle AJAX Search APIを使用したときのメモ。

参考になったのはこちらのサイト。

リクエストをする基本URLや一般的な引数に関しては、日本語ドキュメントがあるので分かりやすい。

特定の単語を除外したり、取得する件数を指定したりと複雑なことをやりたい場合は下記サイトにクエリの文法とか記載がある(英語だけど何となく分かると思う)。

[Google Code]Google SOAP Search API Reference

実際に検索してみて、どういったURLになるかを見た方が早い

こんな感じの検索をしたい場合は

image

HTTP_Requestを使って、次のようなリクエストを送ればいい。(dBugを使ってdumpした状態)

image

パラメータメモ

  • v=1.0のパラメータはAPIの場合必須
  • 取得件数でmaxResultsは効かない。rsz=small(4件)かrsz=large(8件)のみ

レスポンスが早いし、返ってくる情報も豊富で使い易いので、さすがGoogle先生。

<参考サイト>

[Google Code]Google AJAX Search API 標準URL 基本アドレス

[Google Code]Google AJAX Search API Flashやその他JavaScirptを使用しない環境

 

<関連記事>

Google ニュースのAPIを商用利用できるかとYahooとの比較
【PHP】オブジェクトと連想配列。相互変換する
Google ニュースのAPIを商用利用できるかとYahooとの比較

2010年6月23日水曜日

Mac mini(snow leopard server) + VMware fusion 3を買った

前の記事で買いたい衝動に駆られたMac mini。我慢ができなくなって買ってしまった。しかもSnow Leopard Server版。

なぜserverにしたのか?

自分でもよく分からない。ただ欲しかっただけ。

社内のメールやスケジュール管理はGoolgle Appsでクラウド化してあるので、Mac Serverの出番はないと思う。買う前に何度も自問自答してMac serverである理由を探したけど見つからず。結局「触ってみたい」という理由だけで買った。

一応用途としては、VMware Fusionを入れて、開発用のVMを動かすつもり。

Parallels Desktopと迷ったけど、既にVMware serverが動いているので、仮想イメージをコピーするだけで使えるfusionにした(体験版で確認済み)。

ちなみにApple Storeで購入すると同時購入割引で市販より1000円ぐらい安く買える。(別々に安いところで買った方が安いかもしれない)

社内のVMware serverは64bit cpuで6Gのメモリを積んでいるけど、複数のプロジェクトが稼働していると10台の仮想マシンが動いている状態なのでキツイ。

しかも仮想マシンを起動したあと、使わなくなったらサスペンドしてくれるA型的な人が少ない(開発で血液型がAなのは私だけ)。

B型とO型に「電気は付けたら消そう」と言っても一時的な解決にしかならないことを知っている私は別の解決策を模索。・・・という経緯もあったりする。

B型、O型の人ゴメンナサイ m(_ _)m

Mac miniの省スペース、消費電力に期待し、VMが何台起動できるかは試してみて追記する予定。

ちなみにMac miniにLinux+VMware serverをインストールする方法もある。ESXiはインストールできないみたい。

さらに注意点を追記

  • 標準でHDMI ⇒ DVI-D(デジタル)のアダプタしか付属してないので、D-subのディスプレイに接続したい場合は別途VGAアダプタを購入する必要がある(3400円ぐらい)。
  • Serverの場合、DVD/CDドライブが付いてないので、Air SuperDriveを購入する必要が出てくるかも。基本的にisoイメージに変換してインストールなりすれば問題ないと思う。再インストールもリモートで出来るらしい。

 

<関連記事>

Mac用TortoiseSVN的Subversionクライアントを探す
WindowsからMacにVNCで接続すると「=」と「’」が入力できない
【Mac】WindowsからMacにリモート接続(画面共有)する

2010年6月22日火曜日

Teniteo公式ブログ

仕事で付き合いのあるTeniteo[テニテオ]の公式ブログを開設したと連絡があったので紹介。

image

teniteoのつくりかた

スタッフによるあんなことやこんなことが赤裸々に告白される

・・・と思う。

どんな風にあのTeniteoを取材したり、仕上げたりしているのかは気になるところ。

2010年6月21日月曜日

白湯+黒酢でダイエット

・・・って、全くダイエットする必要はないですが。むしろダイエットしたかったら

動けよ!

と思ってしまう男心。

テレビで酢の効果を紹介する番組を見たので、試しにいつも会社に持っていっている白湯に酢をプラスしてみようと買ってみた。

買ったのはこちら。mizkan 梅はちみつ黒酢

梅はちみつ黒酢

どんなものかと10倍ぐらいに薄めて飲んでみると、思ったより匂いがキツイ。

飲めなくはないけど、お世辞にも美味しいとはいえない。

そういえば酢ってこんな味(匂い)だったね。・・・と今更ながら思い出した。

しばらくは500倍ぐらいに薄めて飲み続けてみよう。

水筒が黒酢臭くなる予感がする。

2010年6月18日金曜日

【PHP】WordpressでPicasaの写真を表示(非公開のも)

WordpressのプラグインでGoogleのPicasa Web Albumの写真を取得・表示した時のメモ。

公開しているPicasaのアルバムなら既に表示するWordpressのプラグインがいくつかある。kPicasa Galleryが良さそう。非公開のアルバムもauthkeyを指定することでログインせずに表示できる。

ただ、非公開も含めアルバム一覧を表示しておいて、選択したアルバムの写真を表示するようなことはできない。

非公開のアルバム一覧を取得するにはAPIを使ってGoogleアカウントでログインしないといけない。これをPHPでやるためのライブラリがZendのGdata。ここからダウンロード。

サンプルになるプラグインはGdata Picasaとか。でも思ったようなプラグインがない・・・ので自作した。機能としては

  • 管理画面でGoogleアカウントの登録
  • アルバム一覧をPicasaからダウンロードしてデータベースに保存
  • ダウンロードしたアルバムは一覧から削除可能(Picasaからは削除しない)
  • 表示するときはデータベースに保存したアルバム一覧を出して、選択したアルバムの写真はPicasaから取得。キャッシュを使ってリサイクル。
  • 管理画面で同期を行うとアルバム一覧の更新。

Google Picasa APIとGdataのドキュメントは下の参考リンクから。

APIの仕様が分かったから、他の言語でもPicasaと連携する仕組みが作れそう。これで写真の管理が格段に楽になる。

できればこのプラグインをWordpressの公式サイトで公開したいなぁと思いつつ。

 

<参考リンク>

[Google Code] Picasa Web Albums Data API

[Zend Gdata]プログラマ向けリファレンスガイド

[Google Code]クライアントライブラリ(Objective-Cとか他の言語でAPIを利用する場合のライブラリ集)

 

<関連記事>

Wordpress 開発リファレンスのリンク集

2010年6月17日木曜日

Googleのレシピ検索機能をAPI経由で使っていいものか

Google公式ブログでレシピ検索機能が紹介されていた。

日々の料理がちょっと楽しくなるレシピ検索機能が登場

これは、ぜひTeniteoのお母様たちに使ってもらえたら便利なんじゃないかと思い立ち。ただGoogle AJAX Search APIを使って利用していいものかどうかが疑問。

URL引数としてはtbsをセットしてあげれば良さそうだけど・・・。(夏野菜で検索したときのURLから推測)。

ちなみに利用する場合はこちらのドキュメントを参考にPHPからリクエストを投げてサーバーで処理をする感じ(←携帯でも使いたいから)。

その他思いついた機能をメモ

  • Myページで冷蔵庫の野菜たちを登録しておくと、トップページに「今日のオススメレシピ」が表示される。
  • Myページで調理時間も設定できれば便利かも。
  • 感想を書いて、Teniteo内の「おすすめ投稿」と連携
  • 分からないところはTeniteo内のQ&Aで簡単に質問できたり
  • 「作ってみた」フラグを登録して、人気レシピのランキングを表示しても面白そう

まずはGoolge公式ブログにコメントが書けないので、リンクを貼って担当者様からコメントを頂けるのを密かに期待。

 

<2010/06/23 追記>

http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=夏野菜&tbs=rcp

で取得できるかと思ったら無理でした。APIが提供されるのを待つしかなさそう。

2010年6月16日水曜日

Mac miniがリニューアル

Mac miniがアップデートされた。

前に比べて

幅+2.5cm
奥行+2.5cm
高さ-1.4cm

で広く薄くなった感じ。性能は申し分なく、今度はメモリ増設も簡単にできる。詳しくは公式サイトで。

ナイスな縦置きスタンドがあれば買ってしまうような気がする。

Google Appsでクラウド化したし、サーバーはVMware Serverで別マシンにあるし、クライアントはGoogle Chome + Firefox + Emacsで普段の開発は問題ないはず!

ネックなのはMac版のsubversionクライアントが(フリーで)ない。
SvnXがよさそう。

あと、.netの開発もあるし、MS Officeも普通に使いたい・・・ので結局脱Windowsは無理なのかな。

<関連記事>

Mac用TortoiseSVN的Subversionクライアントを探す
新しくなったMac miniが欲しい

2010年6月15日火曜日

Google Appsの使い方動画

Twitterで存在を知ったGoogle Appsの使い方動画チャンネルがあったのでメモ。

[YouTube]Google Apps Japan チャンネル

[YouTube]webdsknetgoogleapps チャンネル

日本語なので、Googleサイトに貼り付けてみんなに見てもらうにはいいかも。

2010年6月14日月曜日

URLが存在しない場合トップにリダイレクトする.htaccessの設定

検索すれば出てくるけど一応メモ。

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
ファイルが存在しない場合

RewriteCond %{REQUEST_FILENAME} !-d
ディレクトリが存在しない場合

RewriteRule . /index.php [L]
/index.phpにリダイレクトして終了する。


ちなみにwordpressは次のような感じだった。

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
ファイルが存在するか、もしくは

RewriteCond %{REQUEST_FILENAME} -d
ディレクトリが存在すれば

RewriteRule . - [L]
置換をしないで終了 。参考('-' と呼ばれる特殊な置き換え文字列・・・)

RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
「wp-」が先頭についたファイルなら終了

RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
phpファイルだったら終了

RewriteRule . index.php [L]
上記以外はindex.phpにリダイレクトして終了。

 

<関連記事>

Apacheの設定でサーバーメンテナンス中にメッセージを表示

2010年6月11日金曜日

Google AppsでGoogle App Engineを使う

Google AppsでGoogle Apps Engine(GAE)を使えるようにしたメモ。

基本は下記サイトを参考に。

Google App Engine アプリケーションの認証の設定

まずはApp Engineデベロッパーアカウントを取得する。

http://appengine.google.com/a/YOURDOMAIN

YOURDOMAIN部分は自分のドメイン。

携帯のSMS(ショートメール)で認証する。一度使うと同じ携帯電話のアドレスは使えないので注意。この辺はFAQを参考に。

普通のGoogleアカウントで登録したあとでもGoogle Appsに展開できるので、わざわざGoogle Appsのアカウントを使う必要もない。Google Appsへの展開の方法は公式サイトのスライドが分かりやすい。

[Official Google Enterprise Blog]App EngineとGoogle Apps統合による可能性とは

認証したらアプリケーションの登録。タイトルに日本語は使えないみたい。後で削除もできるので、最初は気軽に登録する。

image

あとは公式サイトを参考にしながら、SDKをダウンロード、インストールして作ってみる。

※さきにアカウントを作りたくなるけど、SDKを使ってローカルである程度作ってからアカウントを取得しても全然遅くない。

 

<関連記事>

Google Apps+Google App Engineでサイト更新通知アプリ
Google Apps + Google App Engine(GAE)で伝言アプリを妄想

2010年6月10日木曜日

【JavaScript】クライアントでXSLTとJsTemplate

レンタルサーバーでメモ的に使っているPHP+XML+XSLTのシステムをGoogle AppsのGoogleサイトかGoogle App Engine(GAE)に移行できないものかと調査したメモ。

Googleドキュメントのスプレッドシートに書いて、(必要なら)Googleサイトに埋め込めば終了なんだけど、せっかく作ったXSLTを生かせないか調べてみた。

まず方法として

  • GAE上(サーバーサイド)でPythonとXSLTのライブラリを使って変換する
  • ブラウザ(クライアントサイド)でブラウザのXSLTプロセッサを使う
    ⇒ これはブラウザごとに仕様が違うので、ほぼやる気はない。
  • JavaScript(クライアントサイド)でXSLTを可能にするライブラリを使う(ajaxslt

Googleがオープンソース化したAJAXSLTは、まだ対応していない関数もあるみたいで未知数。さらにプロジェクトページのNOTEに書いてあったのが

最近のブラウザはネイティブでXSLTとXPATHを実装し、さらにデータ転送のフォーマットとしてXMLよりJSONを使うことが多いので、WebアプリケーションにデータをバインドするのはGoogle-jstemplateを使った方がいい。

みたいなことが書いてあったので(翻訳は適当)、素直にXSLTは諦めた方がよさそう。

JsTemplateはAjaxで通信して、Gmailみたいに新規受信メールがあったら、(再描画せずに)1行追加するというのを簡単に実装できるようになる。

これは機会があったら試してみる予定。

2010年6月9日水曜日

Google Chromeのオススメ拡張機能(プラグイン)

普段のブラウジングはGoogle Chromeを使っているので、自分が便利に使っている拡張機能(プラグイン)の紹介

Yet Another Google Bookmarks Extension

Google Bookmarksを表示してくれる。編集も可能。Google Chromeにも同期機能があるけど、FirefoxとIEも使う場合はやっぱりGoogle Bookmarksを直接表示、編集できるのは便利。

image

 

SmoothScroll

マウスでスクロールしたときやPage Up, Page Downを押したときにスクロールがスムーズになる。ちょっとした変化だけど、どこまで読んだか見失わくなるので記事を読んだりするには便利。

 

My Shortcuts

Googleのアプリケーションへのショートカットを表示してくれる。Google Appsにも対応していて、設定すればちゃんとドメインのGmailやカレンダーに遷移してくれる。

さらに独自のリンクも登録できるので、例えば
Google Translate : http://translate.google.co.jp/?hl=ja#ja|en|

を登録しておけば、Google翻訳にジャンプできる。「お気に入り」でもいいけど、Google系だし開発でよく使うので、1クリック少なくなって個人的には便利。

image

 

Google Translate

ページ全体を翻訳してくれる。英語が苦手な人向け。ページ全体で何を言っているのか雰囲気を掴むツールとしてはいい。個人的には次の「FastLookUp for Chrome」の方が活躍している。

 

FastLookUp for Chrome

選択した範囲で翻訳してくれる。単語単位で翻訳することが多い場合は便利。英語の勉強したり、英語のドキュメントを読む場合に活躍中。

image

 

また便利なのを見つけたら追記予定。

2010年6月8日火曜日

Windows XPをNFSサーバーとクライアントにする

VMware ESXiの仮想マシンをWindowsにコピーしたくて設定したメモ。

vSphere Clientからデータストアを参照してダウンロードすると、仮想マシンに割り当てたHDD容量になってダウンロードされるので保存容量が足りなくなる。

基本は@IT 企業ユーザーのためのSFU 3.5活用ガイダンスを参照。

Windows Services for UNIXをダウンロードして、インストール。

NISはないので「パスワードおよびグループファイル」を選択。

image

NFSサーバーにしたいのでオプションで「NFSサーバー」と「NFS認証サーバー」を選択する。インストール後はC:\SFUが作成される。

image

ここを参考にしながらユーザーとグループのマッピング情報を構成する。

「Services For UNIXの管理」⇒ユーザー名マッピング⇒構成

でパスワードファイルとグループファイルのパスを設定(なければ作る)。

image

次にマップを選択して、「ユーザーマップの表示」をクリック。

ここで

ユーザー名マッピング サーバーにアクセスできません。
マップを取得できません。

と出て、先に進めない。マイクロソフトのサポートオンラインに現象が記載されているけど、いまいちよく分からず。

ここでタイムオーバー。別の機会で。

 

<参考サイト>

WindowsからNFSサーバにアクセスする

 

<関連記事>

【CentOS】VMware ESXiのためにNFSサーバーを設定

2010年6月7日月曜日

【CentOS】VMware ESXiのためにNFSサーバーを設定

VMware ESXiからVMware Server 2.0にコピーするときに、VMware vCenter Converterがなぜかエラーで失敗するので、仮想マシンを移行するのにどうしようかと悩んだときのメモ。

ちなみにエラーは

FAILED: The task was canceled by the user

と怒られる。

VMware ESXiはNFS(Network File System)をマウントできるので、NFSサーバーを設定しようとやってみた。

検索してみるとNFSのv3とv4の情報が混在しているので少しハマった。

参考になったのは下記サイト。

NFSサーバ構築

CentOS5.0でNFSv4の設定

NFSv4だとクライアントでマウントするコマンドが違う。詳しくは上記サイトを参照。

Linux(CentOS)同士では成功したので、いざESXiの「ストレージの追加」からやってみると下記エラー

The NFS server does not support MOUNT version 3 over TCP

どうやら使用するNFSのバージョンが違うらしい。

この辺、もう少し深く潜りたかったけど時間切れ。新しく仮想マシンを作って必要なファイルだけコピーすることにした。

2010年6月4日金曜日

Google ニュースのAPIを商用利用できるかとYahooとの比較

Googleニュースの記事を商用サイトで表示できるか調査したメモ。

記事を取得するAPIは「Google AJAX Search API」を使う。この利用に関しては誰でもアクセスできるサイトなら無償で利用できるみたい。リクエストの制限なし。クレジットの表示(たぶん)不要 ← それらしい情報が見当たらなかっただけ。マナーとしてサイトのどこかに「produce by google」的な表記は必要だと思う。

Google FAQ 商用ウェブサイトで AJAX Search API を利用できますか?

[WAFL] Google AJAX Search API

単純なものならGoogleが提供しているウィザードを使えば、プログラミングせずともできる。こちらから。

携帯サイトでも利用する場合はサーバーサイドで問い合わせる必要がある。

こちらのサイトを参考に。

ちなみにYahooが提供しているAPIを使ってもニュースを表示することができる。

Yahoo!デベロッパーネットワーク

こちらは法人(商用)で利用する場合に審査が必要。ここから右下にある「法人デベロッパー専用お問い合わせ」から行う。わかりづらい・・・。

さらにYahooの場合はクレジット表示が必須。1日5000リクエストまで。

トピックスAPI version 2からクエリで検索もできるので最低限のことはできそう。

  Yahoo!Japan Google
クレジット表示 必須 サイトのどこか(マナー) 必須
アクセス制限 1日5000 なし
審査 あり(法人のみ) なし
会員限定 不可 不可
取得情報 13文字の見出しのみ タイトルと本文(?)
データ形式 XML JSON
公式ページ デベロッパーネットワーク Google AJAX Search API

比べると使い易いのはやっぱりGoogle?もう少し調査したら更新予定。

< 2011/11/15 Modified >
規約を読みなおして、"Business Listing"の意味が分かったので、GoogleのCredit表示を"必須"に変更。

 

<関連記事>

2010年6月3日木曜日

Google Appsのドメインエイリアス設定。DNSのCNAME設定。

Google Appsに移行する際に、今までメーリングリスト用に使っていたサブドメインのメールをドメインエイリアスの機能を使ってGmailで受け取れるようにした際のメモ。

Google Appsで設定したドメイン: hoge.com

受け取れるようにしたい(サブ)ドメイン: sub.hoge.jp

この例だとsuganuma@sub.hoge.jpに送られたメールをGoogle Appsのメールで受け取れるようにする。

ドメインエイリアスの申請自体は難しくない。

Google Appsのダッシュボード ⇒ ドメインの設定 ⇒ドメイン名

「ドメインエイリアスを追加」をクリックしてsub.hoge.jpを入力、ドメインの所有権の確認はここのサイトを参考に。

value-domainの場合は次のようにhoge.jpのDNSに記述。

cname googleffffffff1234.sub google.com.

※今回はhoge.jpのサブドメインなので上記のように記述。メインの場合は「.sub」部分がいらない。

これで所有権の確認ができて、次はMXレコードの設定。CNAMEだけではメールは転送されない。確認ができればCNAMEは削除してOK。

mx aspmx.l.google.com. 10 sub
mx alt1.aspmx.l.google.com. 20 sub
mx alt2.aspmx.l.google.com. 20 sub
mx aspmx2.googlemail.com. 30 sub
mx aspmx3.googlemail.com. 30 sub
mx aspmx4.googlemail.com. 30 sub
mx aspmx5.googlemail.com. 30 sub

これでしばらく待てばGoogle Appsのドメインエイリアスのところが「使用中」になるので、実際にメールを送信してみて確認する。

 

<関連記事>

Thunderbirdのアドレス帳をGoogle Apps(Gmail)の連絡先に移行
GmailとGoogle デスクトップで脱メーラー。メール通知アプリ
Google Email Uploaderを使ってGoogle Appsへ移行
Google Appsで「SMTPサーバー経由でメール送信」の設定
【DNS】SPFレコードを設定して自ドメインのなりすましメール対策

2010年6月2日水曜日

Thunderbirdのアドレス帳をGoogle Apps(Gmail)の連絡先に移行

Google Appsに移行して脱メーラーということでThunderbirdから完全にクラウド化してGmailに移行したときのメモ。

メールの移行は前の記事を参照。

今回はThunderbirdのアドレス帳を連絡先にインポート、エクスポート。

まずはThunderbirdのアドレス帳から

ツール ⇒ エクスポート

で「カンマ区切り」を選んでCSV形式でエクスポート。移行しなくていいアドレスは削除。

そのままGmailにインポートしてもメールアドレスがうまく入らなかったので、ダウンロードしたファイルをエクセルで開く。

「表示名」と「メールアドレス」だけ残して他の列は削除。

列名を変更+追加

表示名 ⇒ Name
(追加) ⇒ Yomi Name
(追加) ⇒ Given Name Yomi
(追加) ⇒ Family Name Yomi
(追加) ⇒ E-mail 1 - Type
メールアドレス ⇒ E-mail 1 - Value

E-mail 1 - Typeは全て「* Work」にする。最終的には次のような感じ。

Name,Yomi Name,Given Name Yomi,Family Name Yomi,E-mail 1 - Type,E-mail 1 - Value
hoge担当者様,,,,* Work,info@hoge.co.jp

これでCSV形式で保存し、Gmailの連絡先でインポートするといい感じでインポートできる。インポートするときはグループを追加して(例えば「Thunderbirdアドレス帳」とか)しておくと、管理が楽。

<関連記事>

GmailとGoogle デスクトップで脱メーラー。メール通知アプリ
Google Email Uploaderを使ってGoogle Appsへ移行
Google Appsで「SMTPサーバー経由でメール送信」の設定
Google Appsを社内に展開(導入)する計画
携帯電話の連絡先をGoogleのContacts(連絡先)にインポート

2010年6月1日火曜日

GmailとGoogle デスクトップで脱メーラー。メール通知アプリ

Google Appsを導入して脱メーラーをしてから、しばらく経ち、メールをチェックするのに便利なアプリの組み合わせが分かったので紹介。

結論から書くとGoogle トークGoogle デスクトップで十分。

さらに別アカウントのGmailをチェックしたい場合はGoogSysTray

Googleトークが新着メールを教えてくれて、Googleデスクトップでワンクリックでチェックと振り分けができる。Googleトークで出来ることはここを一読。

さらにGoogleデスクトップで新規メールを作成したり検索もできるので、Thunderbirdの出番がなくなった。軽いしね。

ガジェットを追加していろんな機能を追加できるのでタスクトレイの常駐ソフトを無くすことができる。私の場合は付箋紙がいなくなった。他にもいろいろできそう

Google デスクトップはこんな感じ。

image

Googleデスクトップ用Google Readerのガジェットはこちらからダウンロード。実行するだけで追加される。

IPメッセンジャーのガジェットはないものか・・・。

さらに企業向けデスクトップもあるので、社内で展開したりグループポリシーを設定するには便利そう。

昔要望のあった座席表のソリューションをGoogleトークとGoogleデスクトップで出来そうな予感がした。

 

<関連記事>

Google Email Uploaderを使ってGoogle Appsへ移行
Google Appsで「SMTPサーバー経由でメール送信」の設定
Related Posts Plugin for WordPress, Blogger...

Blog Archives