{"id":162,"date":"2009-08-02T02:43:30","date_gmt":"2009-08-01T17:43:30","guid":{"rendered":"http:\/\/www.typea.info\/blog\/index.php\/2009\/08\/02\/mixi_gaeamazon_web\/"},"modified":"2009-08-02T02:43:30","modified_gmt":"2009-08-01T17:43:30","slug":"mixi_gaeamazon_web","status":"publish","type":"post","link":"https:\/\/www.typea.info\/blog\/index.php\/2009\/08\/02\/mixi_gaeamazon_web\/","title":{"rendered":"mixi \u30a2\u30d7\u30ea\u304b\u3089 GAE\u7d4c\u7531\u3067Amazon Web \u30b5\u30fc\u30d3\u30b9\u3092\u547c\u3073\u51fa\u3059"},"content":{"rendered":"<p>\u3055\u3041\u3001\u3060\u3044\u3076\u30d4\u30fc\u30b9\u304c\u305d\u308d\u3063\u3066\u304d\u305f\u3002<\/p>\n<p>\u5f53\u521d\u306f\u3001<a href=\"\/blg\/glob\/2009\/05\/3_mixi.html\">\u3053\u3093\u306a\u72b6\u6cc1<\/a>\u3092\u3082\u304f\u308d\u3093\u3067\u3044\u305f\u304c\u3001\u307e\u3041\u5927\u4f53\u8fd1\u3044\u611f\u3058\u306b\u306a\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u306a\u30fc\u3002<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/mixiGAE_18AF\/mixi_app_img.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" border=\"0\" alt=\"mixi_app_img\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/mixiGAE_18AF\/mixi_app_img_thumb.jpg\" width=\"196\" height=\"116\" \/><\/a> <\/p>\n<p>\u305f\u3060\u3001\u307e\u3041\u30fc\u9762\u767d\u3044\u3093\u3060\u3051\u3069\u3001\u767b\u5834\u4eba\u7269\u5927\u6749\u3002<\/p>\n<p>mixi\u304b\u3089Twitter\u691c\u7d22\u3057\u3066\u3001Amazon\u306e\u5e83\u544a\u3092\u8868\u793a\u3059\u308b\u306e\u306b\u3001JavaScript\u3001HTML\u3001CSS\u306a\u3069\u306f\u7f6e\u3044\u3066\u304a\u3044\u3066\u3082\u3001\u6700\u4f4e\u3053\u308c\u3060\u3051\u767b\u5834\u3057\u3066\u304f\u308b\u3002<\/p>\n<p>\u307e\u3041\u30fc\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u53c2\u7167\u3059\u308b\u306e\u304c\u5927\u5909\u3067\u30d6\u30e9\u30a6\u30b6\u30bf\u30d6\u3060\u3089\u3051\u3002\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306e\u7ba1\u7406\u3082\u5927\u5909\u3002<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/mixiGAE_18AF\/mixi_app_env01.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" border=\"0\" alt=\"mixi_app_env01\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/mixiGAE_18AF\/mixi_app_env01_thumb.jpg\" width=\"371\" height=\"163\" \/><\/a> <\/p>\n<ul>\n<li><a href=\"http:\/\/developer.mixi.co.jp\/appli\">mixi Developer Center<\/a> <\/li>\n<li><a href=\"http:\/\/code.google.com\/hosting\/\">Google Code hosting<\/a> <\/li>\n<li><a href=\"http:\/\/appengine.google.com\/\">Google App Engine<\/a> <\/li>\n<li><a href=\"http:\/\/aws.amazon.com\/\">Amazon Web Services<\/a> <\/li>\n<li><a href=\"http:\/\/docs.amazonwebservices.com\/AWSECommerceService\/latest\/DG\/index.html\">Amazon Product Advertising API<\/a> <\/li>\n<li><a href=\"http:\/\/code.google.com\/intl\/ja\/apis\/opensocial\/docs\/index.html\">OpenSocial API<\/a> <\/li>\n<li><a href=\"http:\/\/apiwiki.twitter.com\/Twitter-API-Documentation\">Twitter API<\/a> <\/li>\n<li><a href=\"http:\/\/www.python.jp\/Zope\/links\/python_documents\">Python<\/a> <\/li>\n<\/ul>\n<p>\u305f\u3060\u3001\u3084\u3063\u3068\u305d\u308c\u305e\u308c\u304c\u5354\u529b\u3057\u3042\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u304d\u305f\u3002<\/p>\n<p>GEA\u3067\u4f5c\u6210\u3057\u305f<a href=\"\/blg\/glob\/2009\/08\/amazon_product_advertising_api_1.html\">Amazon\u691c\u7d22<\/a>\u3092<a href=\"\/blg\/glob\/2009\/07\/mixi_twitter_api.html\">mixi\u30a2\u30d7\u30ea\u306eTwitter\u691c\u7d22<\/a>\u306b\u4ed8\u3051\u8db3\u3057\u3066\u307f\u308b\u3002<\/p>\n<p>\u5b9f\u969b\u306b\u3001\u4ed8\u3051\u8db3\u3059\u30b3\u30fc\u30c9\u306f\u3001\u4f5c\u6210\u3057\u305fGAE \u306e\u30b5\u30fc\u30d3\u30b9\u3092\u547c\u3073\u51fa\u3057\u3066\u3001\u7d50\u679cHTML\u3092\u63cf\u753b\u3059\u308b\u3060\u3051\u3002(\u4ee5\u4e0b\u306e\u9752\u5b57\u90e8\u5206)<\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\" width=\"716\">\n<tbody>\n<tr>\n<td class=\"code\" valign=\"top\" width=\"714\">\n<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;            <br \/>&lt;Module&gt;             <br \/>&#160; &lt;ModulePrefs title=&quot;twitter search sample&quot;&gt;             <br \/>&#160;&#160;&#160; &lt;Require feature=&quot;opensocial-0.8&quot;\/&gt;             <br \/>&#160; &lt;\/ModulePrefs&gt;             <br \/>&#160; &lt;Content type=&quot;html&quot;&gt;             <br \/>&#160;&#160;&#160;&#160; &lt;![CDATA[             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;style type=&quot;text\/css&quot;&gt;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; a:active, a:hover, .b:active, .link:active {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; color:#aaaaaa;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; text-decoration:underline;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; a, .link {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; color:#2694E8;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; cursor:pointer;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; text-decoration:none;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160; <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;\/style&gt;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;script type=&quot;text\/javascript&quot;&gt;             <br \/><font color=\"#0000ff\">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/**              <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * Amazon Web Services \u691c\u7d22\u51e6\u7406               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *\/               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function search_amazon() {               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var url = &quot;<\/font><a href=\"http:\/\/typea-mixi01.appspot.com\/am_is\" ?=\"?\"><font color=\"#0000ff\">http:\/\/typea-mixi01.appspot.com\/am_is&quot;<\/font><\/a>             <br \/><font color=\"#0000ff\">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; +&#160; makeHttpParam(&#8216;q&#8217;, true);              <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; document.getElementById(&#8216;amazon&#8217;).innerHTML = url;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var params = {};               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; gadgets.io.makeRequest(url, amazonResponse, params);               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; document.getElementById(&#8216;amazon&#8217;).innerHTML = &quot;now seaching\u30fb\u30fb\u30fb&quot;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/**               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * Amazon Web Services \u691c\u7d22\u7d50\u679c\u51e6\u7406               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *\/               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function amazonResponse(responseObj) {               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var html = &quot;&quot;;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (responseObj.data != null) {               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html = responseObj.data;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; document.getElementById(&#8216;amazon&#8217;).innerHTML = html;               <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<\/font> <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/**            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * Twitter \u691c\u7d22\u51e6\u7406             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * @see <a href=\"http:\/\/apiwiki.twitter.com\/Twitter-Search-API-Method%3A-search\">http:\/\/apiwiki.twitter.com\/Twitter-Search-API-Method%3A-search<\/a>             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * @see <a href=\"http:\/\/code.google.com\/intl\/ja\/apis\/gadgets\/docs\/remote-content.html#Fetch_JSON\">http:\/\/code.google.com\/intl\/ja\/apis\/gadgets\/docs\/remote-content.html#Fetch_JSON<\/a>             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *\/             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function search_twitter(url) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var baseurl = &quot;<a href=\"http:\/\/search.twitter.com\/search.json\" ;?=\";?\">http:\/\/search.twitter.com\/search.json&quot;;<\/a>             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (url) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; url = baseurl + url;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } else {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; url = baseurl + makeHttpParam(&#8216;q&#8217;, true);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var params = {};             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; gadgets.io.makeRequest(url, searchResponse, params);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/**            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * Twitter \u691c\u7d22\u7d50\u679c\u51e6\u7406             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *\/             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function searchResponse(responseObj) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var html = &quot;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var jsondata = responseObj.data             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var next_page = jsondata[&#8216;next_page&#8217;];             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var html_next = &quot;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (next_page) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html_next = &quot;&lt;a href=&#8217;javascript:search_twitter(\\&quot;&quot; <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + next_page + &quot;\\&quot;);&#8217;&gt;&amp;gt;&amp;gt;&amp;nbsp;next page&lt;\/a&gt;&quot;            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + &quot;&lt;br\/&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html += html_next             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var results = jsondata[&#8216;results&#8217;];             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&quot;&lt;table border=&#8217;0&#8242;&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (var i=0; i&lt;results.length; i++) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var result = results[i];             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html += &quot;&lt;tr style=&#8217;font-size:small;&quot; <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + ((i % 2 == 0)?&quot;&quot;:&quot;background-color:#dfffff&quot;)+ &quot;&#8217;&gt;&quot;;            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160; &quot;&lt;td&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160; &quot;&lt;a href=&#8217;<a href=\"http:\/\/twitter.com\/\"\" ?=\"?\">http:\/\/twitter.com\/&quot;<\/a> <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + result[&#8216;from_user&#8217;] + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot;;            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;&lt;img src=&#8217;&quot; + result[&#8216;profile_image_url&#8217;] + &quot;&#8217; border=&#8217;none&#8217;\/&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160; &quot;&lt;\/a&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160; &quot;&lt;\/td&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160; &quot;&lt;td&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160; &quot;&lt;a href=&#8217;<a href=\"http:\/\/twitter.com\/\" ?=\"?\">http:\/\/twitter.com\/&quot;<\/a> + result[&#8216;from_user&#8217;] <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot;;            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160;&#160;&#160; &quot;&lt;span style=&#8217;color:#2FC2EF;font-weight:bold;&#8217;&gt;&quot; <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + result[&#8216;from_user&#8217;] + &quot;:&lt;\/span&gt;&quot;            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160; &quot;&lt;\/a&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160;&#160;&#160; createLink(result[&#8216;text&#8217;]) + &quot;&lt;\/br&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html +=&#160;&#160; &quot;&lt;\/td&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html += &quot;&lt;\/tr&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html += &quot;&lt;\/table&gt;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; html += html_next;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; document.getElementById(&#8216;content_div&#8217;).innerHTML = html;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function createLink(text) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return toUserUrlText(toFuzzyUrlText(text + &#8216; &#8216;));             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/** \u3061\u3087\u3063\u3068\u3044\u3044\u52a0\u6e1b\u306bURL\u3092\u30ea\u30f3\u30af\u306b\u5909\u66f4\u3059\u308b\u95a2\u6570 *\/             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function toFuzzyUrlText(text) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ret = text;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ptn = \/(http:\\\/\\\/.*?)[ $]\/g; \/\/ \u884c\u672b\u306b\u30de\u30c3\u30c1\u3057\u306a\u3044\uff1f\uff1f\uff1f             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ary = ptn.exec(text);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; while(ary) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ret = ret.replace(ary[0], <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;&lt;a href=&#8217;&quot; + RegExp.$1 + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot; + ary[0] + &quot;&lt;\/a&gt;&quot;);            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ary = ptn.exec(text);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return ret;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/** \u3061\u3087\u3063\u3068\u3044\u3044\u52a0\u6e1b\u306bTwitter ID \u3092\u30ea\u30f3\u30af\u306b\u5909\u66f4\u3059\u308b\u95a2\u6570 *\/             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function toUserUrlText(text) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ret = text;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ptn = \/@([A-Za-z]{1,}?):\/g;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ary = ptn.exec(text);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; while(ary) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ret = ret.replace(ary[0], <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;&lt;a href=&#8217;<a href=\"http:\/\/twitter.com\/\" ?=\"?\">http:\/\/twitter.com\/&quot;<\/a> + RegExp.$1 <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot; + ary[0] + &quot;&lt;\/a&gt;&quot;);            <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ary = ptn.exec(text);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return ret;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/**             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; * HTTP GET\u30ea\u30af\u30a8\u30b9\u30c8\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u751f\u6210             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *\/             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function makeHttpParam(param_id, isFirstParam) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; isFirstParam = !(isFirstParam == undefined);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var paramObj = document.getElementById(param_id);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var ret = &quot;&quot;;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (paramObj != null) {             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ret = ((isFirstParam)?&quot;?&quot;:&quot;&amp;&quot;) + param_id + &quot;=&quot;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + encodeURIComponent(paramObj.value);             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return ret;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;\/script&gt;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;input type=&quot;text&quot; size=&quot;16&quot; id=&quot;q&quot;\/&gt;<\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;input type=&quot;button&quot; name=&quot;search&quot; value=&quot;twitter search&quot; <\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; onclick=&quot;<font color=\"#0000ff\">javascript:search_amazon();<\/font>javascript:search_twitter();&quot;\/&gt;             <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color=\"#0000ff\">&lt;div id=&quot;amazon&quot;&gt;&lt;\/div&gt;              <br \/><\/font>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;div id=&quot;content_div&quot;\/&gt;             <br \/>&#160;&#160;&#160;&#160; ]]&gt;             <br \/>&#160; &lt;\/Content&gt;             <br \/>&lt;\/Module&gt;<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"http:\/\/platform001.mixi.jp\/run_appli.pl?id=2365\">\u3067\u304d\u307e\u3057\u305f<\/a>\uff01<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/mixiGAE_18AF\/mixi_twi_gae01.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px\" border=\"0\" alt=\"mixi_twi_gae01\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/mixiGAE_18AF\/mixi_twi_gae01_thumb.jpg\" width=\"378\" height=\"289\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3055\u3041\u3001\u3060\u3044\u3076\u30d4\u30fc\u30b9\u304c\u305d\u308d\u3063\u3066\u304d\u305f\u3002 \u5f53\u521d\u306f\u3001\u3053\u3093\u306a\u72b6\u6cc1\u3092\u3082\u304f\u308d\u3093\u3067\u3044\u305f\u304c\u3001\u307e\u3041\u5927\u4f53\u8fd1\u3044\u611f\u3058\u306b\u306a\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u306a\u30fc\u3002 \u305f\u3060\u3001\u307e\u3041\u30fc\u9762\u767d\u3044\u3093\u3060\u3051\u3069\u3001\u767b\u5834\u4eba\u7269\u5927\u6749\u3002 mixi\u304b\u3089Twitter\u691c\u7d22\u3057\u3066\u3001Amazon\u306e\u5e83\u544a\u3092\u8868\u793a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","footnotes":""},"categories":[25,19,23],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","hentry","category-amazon-web-services","category-googleappengine","category-mixiapp"],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":0,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}