<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>infoScoop Developer&#039;s Blog</title>
	<atom:link href="http://infoscoopjp.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://infoscoopjp.wordpress.com</link>
	<description>infoScoopは大手企業で実績のあるOpenSocial対応の企業情報ポータルです。</description>
	<lastBuildDate>Mon, 13 Feb 2012 07:05:55 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='infoscoopjp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/82fa92ddcb204a9eca45cd9e52e08e9f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>infoScoop Developer&#039;s Blog</title>
		<link>http://infoscoopjp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://infoscoopjp.wordpress.com/osd.xml" title="infoScoop Developer&#039;s Blog" />
	<atom:link rel='hub' href='http://infoscoopjp.wordpress.com/?pushpress=hub'/>
		<item>
		<title>JAX-RSでファイルダウンロード</title>
		<link>http://infoscoopjp.wordpress.com/2012/02/11/jax-rs%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/</link>
		<comments>http://infoscoopjp.wordpress.com/2012/02/11/jax-rs%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 10:13:55 +0000</pubDate>
		<dc:creator>DiceK Mikami</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JAX-RS]]></category>

		<guid isPermaLink="false">http://infoscoopjp.wordpress.com/?p=257</guid>
		<description><![CDATA[全国に寒波がきていたようで、ここしばらくは大分寒かったですね。 バイク乗りの私としては早々に暖かくなっていただきたいものです。 こんにちわ、DiceK Mikamiです。 今回は軽めのネタとして、JAX-RSを利用した際にバイナリを返却する方法を紹介したいと思います。 百聞は一見に如かず。 と言うことで、まずはサンプルコードを御覧ください。 全く簡単だ。 「今回はこれまで」といきたいところですが、ポイントをいくつか下記します。 ポイント1 返却するバイナリのMIMEタイプを指定します。 ポイント2 バイナリをjava.io.File形式で取得します。 ポイント3 javax.ws.rs.core.Response.ResponseBuilderを使用して、ヘッダを追加します。 バイナリファイルをダウンロードさせたいという要求があった場合などに便利ですね。 サンプルでは画像ファイルを返却するようにしておりますが、 @ProducesにてダウンロードさせたいバイナリのMIMEタイプを指定すれば、切り替えることができます。 カテゴリー:development<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=257&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>全国に寒波がきていたようで、ここしばらくは大分寒かったですね。<br />
バイク乗りの私としては早々に暖かくなっていただきたいものです。<br />
こんにちわ、DiceK Mikamiです。</p>
<p>今回は軽めのネタとして、JAX-RSを利用した際にバイナリを返却する方法を紹介したいと思います。<br />
百聞は一見に如かず。<br />
と言うことで、まずはサンプルコードを御覧ください。</p>
<p><pre class="brush: java;">
import java.io.File;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;

@Path(&quot;/image&quot;)
public class SampleResource {
 @GET
 @Produces(&quot;image/png&quot;) 	//ポイント1
 @Path(&quot;{id}&quot;)
 public Response getImage(@PathParam(&quot;id&quot;) Integer imageId){
     File file = new File(&quot;＜ファイルの場所＞&quot;); //ポイント2

     ResponseBuilder response = Response.ok((Object)file); //ポイント3
     String headerVal = &quot;attachment; filename=&quot;+imageId.toString()+&quot;.png&quot;;
     response.header(&quot;Content-Disposition&quot;,headerVal);
     return response.build();
 }
}
</pre></p>
<p>全く簡単だ。<br />
「今回はこれまで」といきたいところですが、ポイントをいくつか下記します。</p>
<ul>
<li><strong>ポイント1</strong><br />
返却するバイナリのMIMEタイプを指定します。
</li>
<li><strong>ポイント2</strong><br />
バイナリをjava.io.File形式で取得します。
</li>
<li><strong>ポイント3</strong><br />
javax.ws.rs.core.Response.ResponseBuilderを使用して、ヘッダを追加します。
</li>
</ul>
<p>バイナリファイルをダウンロードさせたいという要求があった場合などに便利ですね。<br />
サンプルでは画像ファイルを返却するようにしておりますが、<br />
@ProducesにてダウンロードさせたいバイナリのMIMEタイプを指定すれば、切り替えることができます。</p>
<br />カテゴリー:<a href='http://infoscoopjp.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/infoscoopjp.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/infoscoopjp.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/infoscoopjp.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/infoscoopjp.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/infoscoopjp.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/infoscoopjp.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/infoscoopjp.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/infoscoopjp.wordpress.com/257/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=257&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://infoscoopjp.wordpress.com/2012/02/11/jax-rs%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/61a84a7ded651dc11728fe3b757f0cc7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">corestrike</media:title>
		</media:content>
	</item>
		<item>
		<title>OAuth2.0 Web Application Flowの実装</title>
		<link>http://infoscoopjp.wordpress.com/2012/01/23/oauth2-0-web-application-flow%e3%81%ae%e5%ae%9f%e8%a3%85/</link>
		<comments>http://infoscoopjp.wordpress.com/2012/01/23/oauth2-0-web-application-flow%e3%81%ae%e5%ae%9f%e8%a3%85/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 09:30:53 +0000</pubDate>
		<dc:creator>DiceK Mikami</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OAuth2.0]]></category>

		<guid isPermaLink="false">http://infoscoopjp.wordpress.com/?p=207</guid>
		<description><![CDATA[はじめに はじめまして。infoScoop OpenSource開発のお手伝いをさせていただいておりますDiceK Mikamiと申します。 開発者ブログでは、ウェブ／ローカル問わず簡単な技術Tipsなどに関して投稿させていただこうかと考えております。 とは言いましても、私自身まだまだ若輩ゆえ誤り等々があるかと思いますので、その際には皆様からの生暖かいご指摘／アドバイスなどいただければ幸いです。 今後ともよろしくお願いいたします。 OAuth2.0認証 OAuth2.0は、OAuth1.0Aにて不便と思われていたいくつかの仕様（例えば、署名など）を改善し、より簡単にサービス間の連携を行うための認証機構です。 OAuth2.0による認証はGoogleやFacebookをはじめ、いくつかのサービスですでに提供されるようになりましたが、仕様自体はまだドラフトの段階であり、未だ策定作業が続いていると言うのが現状です。 The OAuth 2.0 Authorization Protocol draft-ietf-oauth-v2-23 ですので、現状でサーバーサイドにてOAuth2.0実装を行う場合、策定されているドラフトを元にするか、あるいは他のサービスとの連携をふまえて実装する必要性があります。 今回は実際にinfoScoop OpenSource V3.0にて実装したコードをパクって経験を活かして、サーバーサイドでOAuth2.0認証をしてみることにします。 OAuth2.0 Web Application Flow Web Application Flowでは、下図のような流れで認証し、データを取得することになります。 図では上方向から下方向にかけて、状態が遷移していきます。 Aはアプリケーション側のスタートポイントクラスになります。 ここで認証サーバーに対して認可コードを要求します。 認可コードとはOAuth1.0Aにおけるリクエストトークンに類似したものですが、 基本的にワンタイムの使用となります。 認可コードを得るためには、ユーザーは認証サーバーに対してログインする必要があります。 また、この際にアクセスするAPIに対しての権限を許可するかどうかの応答も行う必要があります。 Bは認証サーバー側のAuthorizationクラスになります。 認可コードはアプリケーションのコールバッククラスに返却されます。（C） コールバックURLは認証サーバー側に登録しておく必要があります。 Google、Facebookで確認したところ適当なURLではダメでした。 コールバッククラスにて、認可コードを使ってアクセストークンを要求します。 取得先は認証サーバーごとに提示されているAccessTokenクラスになります。（D） アクセストークンを返却してくる際に、認証サーバーはアクセストークンの持続時間（expires）とリフレッシュトークンも同時に返却してきます。 OAuth2.0ではアクセストークンに持続時間が付与されており、時間が過ぎてしまったトークンは無効化されてしまいます。 この際、無効化されたトークンを再発行するために利用するのがリフレッシュトークンとなります。 注釈：現状、Facebookではリフレッシュトークンを返却しません。サービスによって実装はまちまちです。 サンプルコード サンプルでは、Facebookからフレンド一覧を取得するコードをもとに実際の挙動を解説します。 今回のサンプルでは、スタートポイントとなるOAuth2Sample.javaと コールバッククラスとなるOAuth2Callback.javaの2つのサーブレットを使用します。 （サンプルは要点だけを抜粋して記述してあります。また、実際にOAuth2.0を試すためには各サービス毎にアプリケーションの登録を行う必要があります） （a）より認可コードを取得するためのアドレスをクライアントに返却する処理を記述しています。 認可コード取得先にはGETリクエストする必要がありますので、そのままアドレス返却します。 認可コード取得先にリクエストするためのパラメータは以下になります。 GET https://www.facebook.com/dialog/oauth client_id: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=207&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>はじめに</h2>
<p>
はじめまして。infoScoop OpenSource開発のお手伝いをさせていただいておりますDiceK Mikamiと申します。<br />
開発者ブログでは、ウェブ／ローカル問わず簡単な技術Tipsなどに関して投稿させていただこうかと考えております。<br />
とは言いましても、私自身まだまだ若輩ゆえ誤り等々があるかと思いますので、<br />その際には皆様からの生暖かいご指摘／アドバイスなどいただければ幸いです。<br />
今後ともよろしくお願いいたします。
</p>
<h2>OAuth2.0認証</h2>
<p>
OAuth2.0は、OAuth1.0Aにて不便と思われていたいくつかの仕様（例えば、署名など）を改善し、<br />より簡単にサービス間の連携を行うための認証機構です。<br />
OAuth2.0による認証はGoogleやFacebookをはじめ、いくつかのサービスですでに提供されるようになりましたが、<br />仕様自体はまだドラフトの段階であり、未だ策定作業が続いていると言うのが現状です。</p>
<p><a href="http://tools.ietf.org/html/draft-ietf-oauth-v2-23">The OAuth 2.0 Authorization Protocol draft-ietf-oauth-v2-23</a></p>
<p>ですので、現状でサーバーサイドにてOAuth2.0実装を行う場合、<br />策定されているドラフトを元にするか、あるいは他のサービスとの連携をふまえて実装する必要性があります。<br />
今回は実際にinfoScoop OpenSource V3.0にて実装した<s>コードをパクって</s>経験を活かして、<br />サーバーサイドでOAuth2.0認証をしてみることにします。
</p>
<h2>OAuth2.0 Web Application Flow</h2>
<p>
Web Application Flowでは、下図のような流れで認証し、データを取得することになります。</p>
<p><a href="http://infoscoopjp.files.wordpress.com/2012/01/oauth2flow1.png"><img src="http://infoscoopjp.files.wordpress.com/2012/01/oauth2flow1.png?w=630" alt="" title="OAuth2Flow"   class="alignnone size-full wp-image-227" /></a></p>
<p>図では上方向から下方向にかけて、状態が遷移していきます。<br />
Aはアプリケーション側のスタートポイントクラスになります。<br />
ここで認証サーバーに対して認可コードを要求します。<br />
認可コードとはOAuth1.0Aにおけるリクエストトークンに類似したものですが、<br />
基本的にワンタイムの使用となります。<br />
認可コードを得るためには、ユーザーは認証サーバーに対してログインする必要があります。<br />
また、この際にアクセスするAPIに対しての権限を許可するかどうかの応答も行う必要があります。<br />
Bは認証サーバー側のAuthorizationクラスになります。</p>
<p>認可コードはアプリケーションのコールバッククラスに返却されます。（C）<br />
コールバックURLは認証サーバー側に登録しておく必要があります。<br />
Google、Facebookで確認したところ適当なURLではダメでした。<br />
コールバッククラスにて、認可コードを使ってアクセストークンを要求します。<br />
取得先は認証サーバーごとに提示されているAccessTokenクラスになります。（D）<br />
アクセストークンを返却してくる際に、認証サーバーはアクセストークンの持続時間（expires）とリフレッシュトークンも同時に返却してきます。<br />
OAuth2.0ではアクセストークンに持続時間が付与されており、<br />時間が過ぎてしまったトークンは無効化されてしまいます。<br />
この際、無効化されたトークンを再発行するために利用するのがリフレッシュトークンとなります。<br />
<font color="#ff0000">注釈：現状、Facebookではリフレッシュトークンを返却しません。サービスによって実装はまちまちです。</font>
</p>
<h2>サンプルコード</h2>
<p>サンプルでは、Facebookからフレンド一覧を取得するコードをもとに実際の挙動を解説します。<br />
今回のサンプルでは、スタートポイントとなるOAuth2Sample.javaと<br />
コールバッククラスとなるOAuth2Callback.javaの2つのサーブレットを使用します。<br />
（サンプルは要点だけを抜粋して記述してあります。また、実際にOAuth2.0を試すためには各サービス毎にアプリケーションの登録を行う必要があります）<br />
<pre class="brush: java;">
// OAuth2Sample.java
 public void doGet(HttpServletRequest req, HttpServletResponse res)
       throws IOException, ServletException {
  // 認可コード取得URLを返却------------------(a)
  res.setContentType(&quot;text/html; charset=UTF-8&quot;);
  PrintWriter out = res.getWriter();
  out.println(createHTML());
  out.close();
 }
 
 private String createHTML(){
  StringBuffer sb = new StringBuffer();
  sb.append(&quot;&lt;html&gt;&lt;head&gt;&lt;title&gt;OAuth2サンプル&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&quot;);
  sb.append(&quot;&lt;a href='&quot;+AUTH_URL);
  sb.append(&quot;?client_id=&quot;+APP_ID);
  sb.append(&quot;&amp;redirect_uri=&quot;+REDIRECT_URL);
  sb.append(&quot;&amp;response_type=code&quot;);
  sb.append(&quot;&amp;state=xxx&quot;);
  sb.append(&quot;&amp;scope=&quot;+&quot;user_about_me,offline_access&quot;);
  sb.append(&quot;'&gt;認可コードを取得します。&quot;);
  sb.append(&quot;&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;&quot;);
  return (new String(sb));
 }
</pre><br />
（a）より認可コードを取得するためのアドレスをクライアントに返却する処理を記述しています。<br />
認可コード取得先にはGETリクエストする必要がありますので、そのままアドレス返却します。<br />
認可コード取得先にリクエストするためのパラメータは以下になります。</p>
<pre>
GET https://www.facebook.com/dialog/oauth
 client_id: ＜サービスから発行されるAPP ID＞
 redirect_uri: ＜サービスに登録したコールバックURL＞
 response_type: "code"
 state: ＜コールバックURLに渡したい値を記述＞
 scope: "user_about_me,offline_access"
</pre>
<p>Facebookではリフレッシュトークンが実装されていません。<br />
そのためアクセストークンを永続化させるためにscopeのパラメータとして「offline_access」を付加しています。<br />
扱えるスコープの情報に関しては、各サービスのドキュメントを参考にしてください。</p>
<p><a href="http://developers.facebook.com/docs/reference/api/permissions/">facebook Developer（英語）</a><br />
<br />
リクエストを行うと、以下のような形で値が返却されます。<br />
<a href="http://infoscoopjp.files.wordpress.com/2012/01/fig01.png"><img src="http://infoscoopjp.files.wordpress.com/2012/01/fig01.png?w=300&#038;h=73" alt="" title="fig01" width="300" height="73" class="alignnone size-medium wp-image-249" /></a><br />
<pre class="brush: java;">
// OAuth2Callback.java
 public void doGet(HttpServletRequest req, HttpServletResponse res)
       throws IOException, ServletException {
  // 認可コード解析------------------(b)
  HashMap&lt;String,String&gt; authCodeMap = parseRequest(req);
  HttpClient client = new DefaultHttpClient();
  
  // アクセストークン取得------------------(c)
  HttpPost httpPost = new HttpPost(TOKEN_URL);
  List&lt;NameValuePair&gt; postParams = new ArrayList&lt;NameValuePair&gt;();
  postParams.add(new BasicNameValuePair(&quot;code&quot;,authCodeMap.get(&quot;code&quot;)));
  postParams.add(new BasicNameValuePair(&quot;client_id&quot;,APP_ID));
  postParams.add(new BasicNameValuePair(&quot;client_secret&quot;,APP_SECRET));
  postParams.add(new BasicNameValuePair(&quot;redirect_uri&quot;,REDIRECT_URL));
  postParams.add(new BasicNameValuePair(&quot;grant_type&quot;,&quot;authorization_code&quot;));
  httpPost.setEntity(new UrlEncodedFormEntity(postParams, HTTP.UTF_8));
  HttpResponse authTokenResponse = client.execute(httpPost);
  
  // アクセストークン解析------------------(d)
  HttpEntity httpEntity = authTokenResponse.getEntity();
  HashMap&lt;String,String&gt; accessTokenMap = parseQuery(EntityUtils.toString(httpEntity));
  
  // 実データ取得------------------(e)
  HttpGet httpGet
       = new HttpGet(ACCESS_URL+&quot;?access_token=&quot;+accessTokenMap.get(&quot;access_token&quot;));)
  HttpResponse dataResponse = client.execute(httpGet);
  HttpEntity dataEntity = dataResponse.getEntity();
  
  res.setContentType(&quot;text/html; charset=UTF-8&quot;);
  PrintWriter out = res.getWriter();
  out.println(EntityUtils.toString(dataEntity));
  out.close();
 }
</pre><br />
認可コードは登録したコールバックURLに返却されてきます。<br />
（b）では返却された認可コードを解析し、ハッシュマップに登録しています。</p>
<p>認可コードが取得できたら、認可コードを利用してアクセストークンを取得します。<br />
アクセストークン取得先には、POSTリクエストする必要があります。<br />
（サーバーサイドからHTTPアクセスできるようにApache commons HTTP Clientを利用しています）<br />
リクエストの際のパラメータは以下になります。</p>
<pre>
POST https://graph.facebook.com/oauth/access_token
 code: ＜返却された認可コード＞
 client_id: ＜サービスから発行されるAPP ID＞
 client_secret: ＜サービスから発行されるAPP SECRET＞
 redirect_uri: ＜サービスに登録したコールバックURL＞
 grant_type: "authorization_code"
</pre>
<p>アクセストークンリクエスト時の返却値は以下のようになります。<br />
今回は「offline_access」スコープを付与しているので、expiresは返却されていません。<br />
<a href="http://infoscoopjp.files.wordpress.com/2012/01/fig02.png"><img src="http://infoscoopjp.files.wordpress.com/2012/01/fig02.png?w=300&#038;h=58" alt="" title="fig02" width="300" height="58" class="alignnone size-medium wp-image-250" /></a><br />
<br />
最後に返却されてきたアクセストークンを利用して、データを取得しています。<br />
アクセストークンをサービスに渡す方法は複数提案されておりますが、<br />
今回はGETアクセスのパラメータとしてトークンを渡しています。</p>
<pre>
GET https://graph.facebook.com/me/friends
 access_token: ＜返却されたアクセストークン＞
</pre>
<p>結果として以下のデータが取得できました。<br />
個人情報が含まれるためモザイクを入れておりますが、<br />data属性にフレンド情報が入っていることが確認できると思います。<br />
<a href="http://infoscoopjp.files.wordpress.com/2012/01/fig03.png"><img src="http://infoscoopjp.files.wordpress.com/2012/01/fig03.png?w=300&#038;h=64" alt="" title="fig03" width="300" height="64" class="alignnone size-medium wp-image-251" /></a></p>
<br />カテゴリー:<a href='http://infoscoopjp.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/infoscoopjp.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/infoscoopjp.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/infoscoopjp.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/infoscoopjp.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/infoscoopjp.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/infoscoopjp.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/infoscoopjp.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/infoscoopjp.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=207&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://infoscoopjp.wordpress.com/2012/01/23/oauth2-0-web-application-flow%e3%81%ae%e5%ae%9f%e8%a3%85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/61a84a7ded651dc11728fe3b757f0cc7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">corestrike</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2012/01/oauth2flow1.png" medium="image">
			<media:title type="html">OAuth2Flow</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2012/01/fig01.png?w=300" medium="image">
			<media:title type="html">fig01</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2012/01/fig02.png?w=300" medium="image">
			<media:title type="html">fig02</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2012/01/fig03.png?w=300" medium="image">
			<media:title type="html">fig03</media:title>
		</media:content>
	</item>
		<item>
		<title>Gmailのメールの本文を直接開くURLを取得する方法</title>
		<link>http://infoscoopjp.wordpress.com/2011/12/21/gmail-msg-url/</link>
		<comments>http://infoscoopjp.wordpress.com/2011/12/21/gmail-msg-url/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 01:07:54 +0000</pubDate>
		<dc:creator>hirokimura</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Gmail]]></category>

		<guid isPermaLink="false">http://infoscoopjp.wordpress.com/?p=147</guid>
		<description><![CDATA[Googleは様々なサービスのAPIを公開しており、Gmailもその中の一つです。 今回は、GmailをIMAP APIを使ってメールの情報を取得する方法を紹介します。 IMAPでGmailを取得する GmailをIMAPで取得するためのAPIとして、OracleからJavaMailが提供されています。 http://www.oracle.com/technetwork/java/javamail/index.html 上記のページの右側のDownloadsから、javamail1_4_4.zip （2011年12月20日時点）をダウンロードします。 ダウンロードした zip を解凍すると、mail.jar を取得できます。 このライブラリを使ったメールの取得については下記の記事を参照してください。 http://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/ 　 メールの本文を開くURLを取得する JavaMailを使用した場合、メールのタイトルや本文は取得できますが、メールを直接開くURLは取得できません。 そこで、JavaMailの拡張版を使います。 https://code.google.com/p/java-gmail-imap/ JavaMail 1.4.4を拡張したもので、メッセージ（メール）ごとに以下の情報を取得できます。 メッセージID スレッドID ラベルリスト このライブラリのパッケージは、JavaMail 1.4.4と競合しないように以下のように定義されています。 com.google.code.com.sun.mail com.google.code.javax.mail JavaMailから変更する場合は拡張版のクラスをimportするように修正します。 　 メールのURL取得のサンプル  以下のサンプルでは、最新のメール10件のメールを取得してタイトルとURLとラベルを出力しています。 Gmailは以下のURLでメールを直接開くことができます。 https://mail.google.com/mail/u/0/?shva=1#inbox/messageId 実行結果 ブラウザで上記のURLを開くとGmailのメールの本文が開きました。 カテゴリー:development<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=147&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Googleは様々なサービスのAPIを公開しており、Gmailもその中の一つです。<br />
今回は、GmailをIMAP APIを使ってメールの情報を取得する方法を紹介します。</p>
<h4><strong>IMAPでGmailを取得する</strong></h4>
<p>GmailをIMAPで取得するためのAPIとして、OracleからJavaMailが提供されています。<br />
<a href="http://www.oracle.com/technetwork/java/javamail/index.html" target="_blank"> http://www.oracle.com/technetwork/java/javamail/index.html</a></p>
<p>上記のページの右側のDownloadsから、javamail1_4_4.zip （2011年12月20日時点）をダウンロードします。<br />
ダウンロードした zip を解凍すると、mail.jar を取得できます。</p>
<p>このライブラリを使ったメールの取得については下記の記事を参照してください。<br />
<a href="http://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/" target="_blank">http://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/</a></p>
<p>　</p>
<h4><strong>メールの本文を開くURLを取得する</strong></h4>
<p>JavaMailを使用した場合、メールのタイトルや本文は取得できますが、メールを直接開くURLは取得できません。</p>
<p>そこで、JavaMailの拡張版を使います。<br />
<a href="https://code.google.com/p/java-gmail-imap/" target="_blank"> https://code.google.com/p/java-gmail-imap/</a><br />
JavaMail 1.4.4を拡張したもので、メッセージ（メール）ごとに以下の情報を取得できます。</p>
<ul>
<li>メッセージID</li>
<li>スレッドID</li>
<li>ラベルリスト</li>
</ul>
<p>このライブラリのパッケージは、JavaMail 1.4.4と競合しないように以下のように定義されています。</p>
<ul>
<li>com.google.code.com.sun.mail</li>
<li>com.google.code.javax.mail</li>
</ul>
<p>JavaMailから変更する場合は拡張版のクラスをimportするように修正します。</p>
<p>　</p>
<h4><strong>メールのURL取得のサンプル </strong></h4>
<p>以下のサンプルでは、最新のメール10件のメールを取得してタイトルとURLとラベルを出力しています。<br />
Gmailは以下のURLでメールを直接開くことができます。</p>
<p>https://mail.google.com/mail/u/0/?shva=1#inbox/messageId</p>
<p><pre class="brush: java;">
import java.net.URLEncoder;
import java.util.Properties;

import com.google.code.com.sun.mail.imap.IMAPFolder;
import com.google.code.com.sun.mail.imap.IMAPMessage;
import com.google.code.com.sun.mail.imap.IMAPSSLStore;
import com.google.code.javax.mail.FetchProfile;
import com.google.code.javax.mail.Folder;
import com.google.code.javax.mail.Message;
import com.google.code.javax.mail.Session;

public class GetGmailURL {

 private static String email = &quot;email@gmail.com&quot;;
 private static String password = &quot;password&quot;;
 private static int msg_num = 10;
 private static String host = &quot;imap.gmail.com&quot;;

 public static void main(String[] args) throws MessagingException {
  Properties props = new Properties();
  props.setProperty(&quot;mail.store.protocol&quot;, &quot;imaps&quot;);
  Session session = Session.getDefaultInstance(props, null);
  IMAPSSLStore store = new IMAPSSLStore(session, null);
  Folder inbox = null;
  try {
   store.connect(host, email, password);
   inbox = store.getFolder(&quot;Inbox&quot;);
   inbox.open(Folder.READ_ONLY);
   int count = inbox.getMessageCount();
   Message messages[] = inbox.getMessages(count-msg_num, count);
   FetchProfile fp = new FetchProfile();
   fp.add(IMAPFolder.FetchProfileItem.X_GM_MSGID);
   fp.add(IMAPFolder.FetchProfileItem.X_GM_THRID);
   fp.add(IMAPFolder.FetchProfileItem.X_GM_LABELS);
   inbox.fetch(messages, fp);

   for(int i=msg_num; i&gt;0; i--){
    System.out.println(&quot;Title: &quot; + messages[i].getSubject());
    IMAPMessage im = (IMAPMessage) messages[i];
    String msgId = Long.toHexString(im.getGoogleMessageId());
    String url = &quot;https://mail.google.com/mail/u/0/?shva=1#inbox/&quot; + msgId;
    System.out.println(&quot;URL: &quot;url);
    String[] labels = im.getGoogleMessageLabels();
    if(labels!=null){
     for(String label: labels){
      System.out.println(&quot;Label: &quot; + label);
     }
    }
    System.out.println();
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   if(inbox.isOpen()) {
    inbox.close(true);
   }
   if(store.isConnected()){
    store.close();
   }
  }
 }
}
</pre></p>
<p>実行結果<br />
<pre class="brush: plain;">
Title: Box Buzz: Good-bye Box.net, Hello Box
URL: https://mail.google.com/mail/u/0/?shva=1#inbox/13459016de7c3784
Label: Cloud Service
：
：
</pre></p>
<p>ブラウザで上記のURLを開くとGmailのメールの本文が開きました。<br />
<img src="http://infoscoopjp.files.wordpress.com/2011/12/gmail_msg.jpg?w=600&#038;h=428" alt="" title="gmail_msg" width="600" height="428" class="alignnone size-medium wp-image-179" /></p>
<br />カテゴリー:<a href='http://infoscoopjp.wordpress.com/category/development/'>development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/infoscoopjp.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/infoscoopjp.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/infoscoopjp.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/infoscoopjp.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/infoscoopjp.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/infoscoopjp.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/infoscoopjp.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/infoscoopjp.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=147&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://infoscoopjp.wordpress.com/2011/12/21/gmail-msg-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/407086406082bfae273afda3b50575ea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hirokimura</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2011/12/gmail_msg.jpg?w=600" medium="image">
			<media:title type="html">gmail_msg</media:title>
		</media:content>
	</item>
		<item>
		<title>アメリカに行ってきました 〜Google編 前半〜</title>
		<link>http://infoscoopjp.wordpress.com/2011/11/22/%e3%82%a2%e3%83%a1%e3%83%aa%e3%82%ab%e3%81%ab%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f-%e3%80%9cgoogle%e7%b7%a8-%e5%89%8d%e5%8d%8a%e3%80%9c/</link>
		<comments>http://infoscoopjp.wordpress.com/2011/11/22/%e3%82%a2%e3%83%a1%e3%83%aa%e3%82%ab%e3%81%ab%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f-%e3%80%9cgoogle%e7%b7%a8-%e5%89%8d%e5%8d%8a%e3%80%9c/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 01:01:23 +0000</pubDate>
		<dc:creator>takayukimel</dc:creator>
				<category><![CDATA[miyamoto]]></category>
		<category><![CDATA[us visit]]></category>
		<category><![CDATA[about]]></category>

		<guid isPermaLink="false">http://infoscoopjp.wordpress.com/?p=126</guid>
		<description><![CDATA[初めまして 宮本と申します。現在はinfoScoop for Google Appsの開発をしています。今年の4月まではinfoScoop Cloud Enterpriseの開発もしていました。 これからinfoScoopの開発者としてちょくちょくブログを書いていこうと思います。宜しくお願いします。 アメリカに行ってきました さっそく開発にはあまり関係ない話です。 11月6日〜12日の5日間で弊社Beacon ITが企画をしている海外IT動向研究会というイベントに同行させて頂き、アメリカのサンフランシスコに行ってきました。 その企画の中で、Googleさんの本社に行けるというなかなかめったにない機会がありました。 Googleの本社では、現地の営業の方(ローレンさん）にGoogleについての色々なことを紹介してもらいました。中でも印象に残った話を書いていこうと思います。 20％ Time ご存知の方も多いかもしれませんが、Googleの社員には20% Timeという自分の労働時間の20%の時間を使って、メインのプロジェクトとは別のプロジェクトを企画したり、自分のやりたい プロジェクトを探して参加したりする時間を設けなければいけないという規則のようなものがあります。プロジェクトの企画や参加は非公式に行われているそうで、募集なども勝手に掲示板などで募集をしてメンバーを集めたりしているそうです。 ちなみにGmailやGoogle Talkなどサービスはこの20% Timeから生まれたそうです。 うちの会社でもやらないかな〜とか少し思ったりもしたのですが、日本の企業では難しいのかなとも思いました。 Googleではうまくいっているのは、色々な要因があるとは思いますが、Googleの文化で「フラットな組織と、小規模なチームでプロジェクトを進める」というのが関係しているのではないかな〜と思います。それと非公式に行っているので、カッチリしたプロジェクトマネジメントではなく比較的カジュアルな感じでプロジェクトを進めているのも要因の１つかもしれません。 まぁこんな感じでGoogleさんはものすごいスピードで色々なサービスを生み出しているのですね。 ちなみに、80%のメインプロジェクトが火を噴いていたりしても20%の方はやるんですか？という質問をしたら、やっぱり80%を優先にして作業するそうです。ただ、Googleの社員はの大半は情熱を持っているので、120%で稼働することがほとんどとも言っていました。 結局プロジェクトを掛け持ちしているのとあまり変わらないような気がするのは気のせいですよね。 写真撮ってきました 施設内は基本的に写真を撮ってはダメと言われたのですが、外観などはOKとのことだったので何枚か撮ってきました。 Googleのオフィスの外観です。手前の像は誰だか分かりませがすごい人だと思います。 Googleには恐竜の骨もあります。元々はどっかの企業が使っていた施設をGoogleが買い取ったそうです。 ちょっと手前の柵でわかりずらくなっていますが、ビーチバレーコートです。社員は休憩時間にバレーを嗜みます。視察中もプレーしている人がいました。Google社員のジャンプ力はすごかったです。 今回はここまでにしておきます。 カテゴリー:miyamoto, us visit<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=126&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>初めまして</h2>
<p>宮本と申します。現在は<a title="infoScoop for Google Apps" href="http://infoscoopjp.wordpress.com/about/" target="_blank">infoScoop for Google Apps</a>の開発をしています。今年の4月までは<a title="infoScoop Cloud Enterprise" href="http://infoscoopjp.wordpress.com/about/" target="_blank">infoScoop Cloud Enterprise</a>の開発もしていました。</p>
<p>これからinfoScoopの開発者としてちょくちょくブログを書いていこうと思います。宜しくお願いします。</p>
<h2>アメリカに行ってきました</h2>
<p>さっそく開発にはあまり関係ない話です。</p>
<p>11月6日〜12日の5日間で弊社Beacon ITが企画をしている海外IT動向研究会というイベントに同行させて頂き、アメリカのサンフランシスコに行ってきました。</p>
<p>その企画の中で、Googleさんの本社に行けるというなかなかめったにない機会がありました。</p>
<p>Googleの本社では、現地の営業の方(ローレンさん）にGoogleについての色々なことを紹介してもらいました。中でも印象に残った話を書いていこうと思います。</p>
<h2>20％ Time</h2>
<p>ご存知の方も多いかもしれませんが、Googleの社員には20% Timeという自分の労働時間の20%の時間を使って、メインのプロジェクトとは別のプロジェクトを企画したり、自分のやりたい プロジェクトを探して参加したりする時間を設けなければいけないという規則のようなものがあります。プロジェクトの企画や参加は非公式に行われているそうで、募集なども勝手に掲示板などで募集をしてメンバーを集めたりしているそうです。</p>
<p>ちなみにGmailやGoogle Talkなどサービスはこの20% Timeから生まれたそうです。</p>
<p>うちの会社でもやらないかな〜とか少し思ったりもしたのですが、日本の企業では難しいのかなとも思いました。</p>
<p>Googleではうまくいっているのは、色々な要因があるとは思いますが、Googleの文化で「フラットな組織と、小規模なチームでプロジェクトを進める」というのが関係しているのではないかな〜と思います。それと非公式に行っているので、カッチリしたプロジェクトマネジメントではなく比較的カジュアルな感じでプロジェクトを進めているのも要因の１つかもしれません。</p>
<p>まぁこんな感じでGoogleさんはものすごいスピードで色々なサービスを生み出しているのですね。</p>
<p>ちなみに、80%のメインプロジェクトが火を噴いていたりしても20%の方はやるんですか？という質問をしたら、やっぱり80%を優先にして作業するそうです。ただ、Googleの社員はの大半は情熱を持っているので、120%で稼働することがほとんどとも言っていました。</p>
<p>結局プロジェクトを掛け持ちしているのとあまり変わらないような気がするのは気のせいですよね。</p>
<h2>写真撮ってきました</h2>
<p>施設内は基本的に写真を撮ってはダメと言われたのですが、外観などはOKとのことだったので何枚か撮ってきました。</p>
<p><a href="http://infoscoopjp.files.wordpress.com/2011/11/img_0419.jpg"><img class="size-medium wp-image-136 alignnone" title="Googleオフィス" src="http://infoscoopjp.files.wordpress.com/2011/11/img_0419.jpg?w=225&#038;h=300" alt="" width="225" height="300" /></a></p>
<p>Googleのオフィスの外観です。手前の像は誰だか分かりませがすごい人だと思います。</p>
<p><a href="http://infoscoopjp.files.wordpress.com/2011/11/img_0420.jpg"><img class="alignnone size-medium wp-image-135" title="IMG_0420" src="http://infoscoopjp.files.wordpress.com/2011/11/img_0420.jpg?w=225&#038;h=300" alt="" width="225" height="300" /></a></p>
<p>Googleには恐竜の骨もあります。元々はどっかの企業が使っていた施設をGoogleが買い取ったそうです。</p>
<p><a href="http://infoscoopjp.files.wordpress.com/2011/11/img_0421.jpg"><img class="alignnone size-medium wp-image-134" title="IMG_0421" src="http://infoscoopjp.files.wordpress.com/2011/11/img_0421.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<p>ちょっと手前の柵でわかりずらくなっていますが、ビーチバレーコートです。社員は休憩時間にバレーを嗜みます。視察中もプレーしている人がいました。Google社員のジャンプ力はすごかったです。</p>
<p>今回はここまでにしておきます。</p>
<br />カテゴリー:<a href='http://infoscoopjp.wordpress.com/category/miyamoto/'>miyamoto</a>, <a href='http://infoscoopjp.wordpress.com/category/miyamoto/us-visit/'>us visit</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/infoscoopjp.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/infoscoopjp.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/infoscoopjp.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/infoscoopjp.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/infoscoopjp.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/infoscoopjp.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/infoscoopjp.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/infoscoopjp.wordpress.com/126/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=126&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://infoscoopjp.wordpress.com/2011/11/22/%e3%82%a2%e3%83%a1%e3%83%aa%e3%82%ab%e3%81%ab%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f-%e3%80%9cgoogle%e7%b7%a8-%e5%89%8d%e5%8d%8a%e3%80%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9f5120f23c0a93705edf944ffffefebc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">takayukimel</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2011/11/img_0419.jpg?w=225" medium="image">
			<media:title type="html">Googleオフィス</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2011/11/img_0420.jpg?w=225" medium="image">
			<media:title type="html">IMG_0420</media:title>
		</media:content>

		<media:content url="http://infoscoopjp.files.wordpress.com/2011/11/img_0421.jpg?w=300" medium="image">
			<media:title type="html">IMG_0421</media:title>
		</media:content>
	</item>
		<item>
		<title>infoScoop開発者ブログ、始めます！</title>
		<link>http://infoscoopjp.wordpress.com/2011/11/17/start-developers-blog/</link>
		<comments>http://infoscoopjp.wordpress.com/2011/11/17/start-developers-blog/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 00:00:24 +0000</pubDate>
		<dc:creator>infoscoop</dc:creator>
				<category><![CDATA[about]]></category>

		<guid isPermaLink="false">http://infoscoopjp.wordpress.com/?p=30</guid>
		<description><![CDATA[3つのinfoScoopの情報を発信 このたび、infoScoopの開発者ブログを始めることになりました。 infoScoopは現在、infoScoop Cloud Enterprise、infoScoop OpenSource、infoScoop for Google Appsという3つのラインナップで展開しています。 この開発者ブログでは種類に問わず、infoScoopに関わるニュース、イベント情報、動向、技術ネタ、様々なことについてinfoScoopの開発者たちが情報を発信していきます。 右サイドバーの一番下の「ブログをフォロー」から、メールでこのブログの更新を購読することもできますよ。 どうぞよろしくお願いします。 Facebookもやってます infoScoopはFacebookページもあります。そちらでも情報を発信しつつ、イベント参加の募集なども行っていく予定です。ぜひinfoScoopページで「いいね！」ボタンを押して参加してみてください。 infoScoopって何？という方は・・・ infoScoopって何？という方に、簡単にinfoScoopをご紹介しましょう。 ものすごーく簡単な説明は、Aboutに書きましたのでこちらもよろしければご参照ください。 infoScoop商用版 →　infoScoop OpenSource infoScoopとは、2006年よりビーコンＩＴが三菱ＵＦＪインフォメーションテクノロジー株式会社様と情報統合ポータルとして共同開発したところから始まった、OpenSocial対応の企業情報ポータルです。 はじめは商用版でしたが、2009年にオープンソース化しました。誰でもダウンロードして無料でお使いいただけます。（商用版も継続しています。） ポータル画面はユーザーがガジェットをDrag&#38;Dropで自由にパーソナライズすることができ、軽快・直感的に操作できます。 infoScoopの売りは、企業/管理者向けの機能が充実しているということです。事業部・部署ごとに別々のポータル画面やガジェットを表示したりすることができます。 infoScoop for Google Apps 2010年からはSaaS版も展開していて、これがinfoScoop for Google Appsです。 こちらは、infoScoop OpenSourceとGoogle Appsを連携させたサービスで、Google Appsの各サービス（Gmail、Google Docs、Google Calendarなど）をポータル画面で集約し、さらに独自にガジェットを作れば社内システムもAppsと一つの画面で見ることができます。 サイトのフッターには各種リンク集も設けました。動画、デモなどもあるのでぜひ見てみてください！ カテゴリー:about<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=30&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>3つのinfoScoopの情報を発信</h2>
<p>このたび、infoScoopの開発者ブログを始めることになりました。</p>
<p>infoScoopは現在、<a title="infoScoop Cloud Enterprise" href="http://infoscoopjp.wordpress.com/about/" target="_blank">infoScoop Cloud Enterprise</a>、<a title="infoScoop OpenSource" href="http://infoscoopjp.wordpress.com/about/" target="_blank">infoScoop OpenSource</a>、<a title="infoScoop for Google Apps" href="http://infoscoopjp.wordpress.com/about/" target="_blank">infoScoop for Google Apps</a>という3つのラインナップで展開しています。</p>
<p>この開発者ブログでは種類に問わず、<strong>infoScoopに関わるニュース、イベント情報、動向、技術ネタ</strong>、様々なことについてinfoScoopの開発者たちが情報を発信していきます。</p>
<p>右サイドバーの一番下の「ブログをフォロー」から、メールでこのブログの更新を購読することもできますよ。</p>
<p>どうぞよろしくお願いします。</p>
<h2>Facebookもやってます</h2>
<p>infoScoopは<a title="infoScoop Facebook Page" href="http://www.facebook.com/infoScoop" target="_blank">Facebookページ</a>もあります。そちらでも情報を発信しつつ、<strong>イベント参加の募集</strong>なども行っていく予定です。ぜひinfoScoopページで「いいね！」ボタンを押して参加してみてください。</p>
<h2>infoScoopって何？という方は・・・</h2>
<p>infoScoopって何？という方に、簡単にinfoScoopをご紹介しましょう。<br />
ものすごーく簡単な説明は、<a title="About" href="http://infoscoopjp.wordpress.com/about/" target="_blank">About</a>に書きましたのでこちらもよろしければご参照ください。</p>
<p><span id="more-30"></span></p>
<h3>infoScoop商用版 →　infoScoop OpenSource</h3>
<p><a title="infoScoop" href="http://www.beacon-it.co.jp/page.jsp?id=2433" rel="noreferrer" target="_blank">infoScoop</a>とは、2006年より<a href="http://www.beacon-it.co.jp/" rel="noreferrer" target="_blank">ビーコンＩＴ</a>が<a href="http://www.it.mufg.jp/" rel="noreferrer" target="_blank">三菱ＵＦＪインフォメーションテクノロジー株式会社</a>様と情報統合ポータルとして共同開発したところから始まった、<a title="OpenSocial" href="http://code.google.com/intl/ja/apis/opensocial/" rel="noreferrer" target="_blank">OpenSocial</a>対応の企業情報ポータルです。</p>
<p>はじめは商用版でしたが、2009年にオープンソース化しました。誰でも<a title="infoScoop OpenSource Download" href="http://infoscoopjp.wordpress.com/about/" target="_blank">ダウンロード</a>して無料でお使いいただけます。（商用版も継続しています。）</p>
<p>ポータル画面はユーザーがガジェットをDrag&amp;Dropで自由にパーソナライズすることができ、軽快・直感的に操作できます。<br />
infoScoopの売りは、<strong>企業/管理者向けの機能が充実</strong>しているということです。事業部・部署ごとに別々のポータル画面やガジェットを表示したりすることができます。</p>
<h3>infoScoop for Google Apps</h3>
<p>2010年からはSaaS版も展開していて、これが<a title="infoScoop for Google Apps" href="http://www.infoscoop4g.com/" rel="noreferrer" target="_blank">infoScoop for Google Apps</a>です。</p>
<p>こちらは、infoScoop OpenSourceとGoogle Appsを連携させたサービスで、Google Appsの各サービス（Gmail、Google Docs、Google Calendarなど）をポータル画面で集約し、さらに独自にガジェットを作れば社内システムもAppsと一つの画面で見ることができます。</p>
<p>サイトのフッターには各種リンク集も設けました。動画、デモなどもあるのでぜひ見てみてください！</p>
<br />カテゴリー:<a href='http://infoscoopjp.wordpress.com/category/about/'>about</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/infoscoopjp.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/infoscoopjp.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/infoscoopjp.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/infoscoopjp.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/infoscoopjp.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/infoscoopjp.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/infoscoopjp.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/infoscoopjp.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=infoscoopjp.wordpress.com&amp;blog=29267459&amp;post=30&amp;subd=infoscoopjp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://infoscoopjp.wordpress.com/2011/11/17/start-developers-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/963634e3b8d7863d8ffd653f0efcd226?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">infoscoopdev</media:title>
		</media:content>
	</item>
	</channel>
</rss>
