#pgid
 * 目次 [#led1f14f]
 #contents
 
 * あらまし [#s7f7a7d2]
 
 ** AST(Alexa Site Thumbnail) [#ca12453d]
 - Alexaのサイトサムネイル提供のポリシーがかわった
 
 - Alexa Site Thumbnail~
 http://www.amazon.com/gp/browse.html?node=236156011
 > Pricing
 > 
 >     * Pay only for what you use. There is no minimum fee, and no start-up cost.
 >     * $0.0002 / thumbnail returned (i.e. $0.20 per 1,000 thumbnails)
 >     * No charge if the thumbnail does not exist 
 
 - これに合わせてAPIも変わったので、その導入方法について記述します
 
 
 * 導入 [#l7f36041]
 ** ASTのサンプル [#s3c3be59]
 - サンプル コード~
 http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=80
 
 - PHPのサンプルはPHP 5必須とあるが、''DOMのパーサーがあれば普通にPHP4でも問題ないはず''
 -- このサンプル通り作るなら、CURLがインストールされている必要がある
 --- これも普通にリクエスト投げて、レスポンスもらうだけなら代替方法なんかいくらでもある
 
 - COLOR(red){追加情報:}''PHP4用''のデータファイルもアップしてくれたらしいです on 2006/09/12~
 http://developer.amazonwebservices.com/connect/thread.jspa?messageID=42066&#42066
 > ThumbnailUtility for PHP4, beta 
 
 
 ** 概念 [#b95cadd1]
 - コードを書く前に、まずはASTのAPI等概念を見ていく
 
 *** リクエストの方法 [#f9d21ff2]
 
 - GETでリクエストを投げて、レスポンスをもらう方法と、SORPで取得する方法がある~
 参照:http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/PgQueryRequestsArticle.html
 
 - COLOR(blue):とりあえず、GETでレスポンスをもらうほうにしよう
 
 
 *** QUERY Request Formatの形式 [#o4fa14a0]
 - ''http://ast.amazonaws.com/Xino''の後に続いてパラメータをセットする
 -- ''AWSAccessKeyId=''自分のID
 -- ''&Timestamp=''日時(http://www.w3.org/TR/xmlschema-2/#dateTimeに準拠)
 -- ''&Signature=''タイムスタンプとAWSAccessKeyIdから作る認証値(詳しくはコレ参照→http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/AuthenticationArticle.html)
 -- ''&Action=Thumbnail''固定
 -- ''&Url=''取得したいサイトのURL
 
 - 参照:http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/QueryRequestFormatArticle.html
 
 
 *** レスポンスの形式 [#v7949665]
 - XMLが返ってくる
 -- 形式はコレ参照→http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/QueryResponseFormatArticle.html
 
 
 ** 設計 [#g56fa1b2]
 
 *** フロー [#oa65b7bf]
 + リクエストを投げるためのURLを作る
 + Alexaにリクエストを投げ、レスポンスを取得する
 + レスポンスを解析して結果を出力する
 
 ** 実装 [#e8fdb6a9]
 - ↓これ使ってください
 -- http://developer.amazonwebservices.com/connect/thread.jspa?messageID=42066&#42066
 > ThumbnailUtility for PHP4, beta
 
 
 ** 利用する際に必要な手続き [#r11b174c]
 - COLOR(red):''AWSに登録して、AWSAccessKeyIdとシークレットIDを手に入れただけでは動作しない''
 
 - ↓このページへ、AWSアカウントログインをしたままアクセスしてみる~
 http://www.amazon.com/b/ref=sc_fe_c_1_3435361_2/103-1999065-3965468?ie=UTF8&node=236156011&no=3435361&me=A36L942TSJ2AJA
 
 - すると、↓こういうボタンがある。
 #ref(awt-img.jpg)
 
 - 迷わずクリックする
 
 - クレジットカード番号を登録する
 
 - 請求先住所を登録する
 
 - 完了ボタン押す
 
 - 以上でAlexa Site Thumbnailの登録ができた
 
 - この状態で、↓このようにアクセスしてみるとサムネイルが表示される~
 http://ast.amazonaws.com/xino/?&Action=Thumbnail&AWSAccessKeyId={AWSAccessKeyId}&Timestamp={日時}&Signature={認証値}&Size=Small&Url=yahoo.com
 
 
 * キャッシュしてみよう [#x339483f]
 
 ** 設計2 [#aa7b2124]
 - どうせならキャッシュできるようにしましょうか
 -- COLOR(red): ''Q: キャッシュしてもいいの?'' A.構いません~
 参考:http://www.amazon.com/b/104-6248227-6679939?ie=UTF8&node=3440661&no=15879911&me=A36L942TSJ2AJA#alexa
 
 *** フロー [#k014fb82]
 + サムネイルを出したいURLをキーにDB検索
 + 見つかった場合は、ファイル名取得して画像出力して終わり。見つからなければ次へ。
 + リクエストを投げるためのURLを作る
 + Alexaにリクエストを投げ、レスポンスを取得する
 + レスポンスを解析して結果を出力する
 + レスポンスから画像自体をダウンロード
 + URLをキーにファイル名をDBへ登録
 
 *** SQL [#a7865d1d]
 - MySQLを使うとして↓こんなもんで。
  CREATE TABLE ast_cache (
  url  VARCHAR(255) NOT NULL,
  file VARCHAR(255) NOT NULL,
  PRIMARY KEY (url)
  );
 
 
 ** 実装2 [#sfc63f95]
 - まだ作ってないよ。。。
 
 

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら