{"id":973,"date":"2010-10-16T12:33:53","date_gmt":"2010-10-16T03:33:53","guid":{"rendered":"http:\/\/www.kazu.tv\/blog\/?p=973"},"modified":"2013-09-16T21:22:51","modified_gmt":"2013-09-16T12:22:51","slug":"scalaoauthdispa","status":"publish","type":"post","link":"https:\/\/kazu.tv\/blog\/2010\/10\/16\/scalaoauthdispa\/","title":{"rendered":"Scala\u304b\u3089OAuth\u3092\u4f7f\u3046\u306b\u306fDispatch"},"content":{"rendered":"<p>\u4eca\u3001Lift\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30c1\u30e3\u30c3\u30c8\u30a2\u30d7\u30ea\u3092\u6539\u9020\u4e2d\u3002Twitter\u3068\u9023\u643a\u3055\u305b\u305f\u3044\u3068\u601d\u3063\u3066\u308b\u306e\u3067\u3001OAuth\u306e\u6a5f\u80fd\u3092\u7d44\u307f\u8fbc\u3082\u3046\u3068\u601d\u3046\u3002OAuth\u81ea\u4f53\u304c\u826f\u304f\u5206\u304b\u3063\u3066\u306a\u3044\u3093\u3060\u3051\u3069\u3002<\/p>\n<p>\u3069\u3046\u3084\u3089Dispatch\u306a\u308b\u3082\u306e\u3092\u4f7f\u3046\u3089\u3057\u3044\u3002\u6b63\u5f0f\u540d\u79f0\u306fDatabinder Dispatch\uff1fWeb\u30b5\u30a4\u30c8\u306f<a href=\"http:\/\/dispatch.databinder.net\/About\" target=\"_blank\">\u3053\u3061\u3089<\/a>\u3002<\/p>\n<p>sbt\u3067\u306e\u8a2d\u5b9a\u306f\u3001LiftProject.scala\u306elibraryDependencies\u306b\u4ee5\u4e0b\u306e\u8a18\u8ff0\u3092\u8ffd\u52a0\u3002<\/p>\n<pre class=\"brush: scala; code\">\n&quot;net.databinder&quot; %% &quot;dispatch&quot; % &quot;0.7.7&quot;<\/pre>\n<p>\u305d\u306e\u5f8c\u306bsbt\u3067reload\u3068update\u3092\u3084\u308c\u3070OK\u306a\u306e\u304b\u306a\u3002<\/p>\n<p><!--more--><\/p>\n<p>\u4ee5\u4e0b\u3001\u81ea\u5206\u306b\u30ed\u30b0\u3092\u6b8b\u3057\u3066\u304a\u304f\u3002<\/p>\n<pre class=\"brush: plain; code\">\n&gt; reload\nreload\n[info] Recompiling project definition...\n[info]&nbsp;&nbsp;&nbsp; Source analysis: 1 new\/modified, 0 indirectly invalidated, 0 removed.\n[info] Building project Lift SBT Template 0.1 against Scala 2.8.0\n[info]&nbsp;&nbsp;&nbsp; using LiftProject with sbt 0.7.4 and Scala 2.7.7\n&gt; update\nupdate\n[info]\n[info] == update ==\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-oauth_2.8.0\/0.7.7\/dispatch-oauth_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-oauth_2.8.0;0.7.7!dispatch-oauth_2.8.0.jar (221ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-meetup_2.8.0\/0.7.7\/dispatch-meetup_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-meetup_2.8.0;0.7.7!dispatch-meetup_2.8.0.jar (337ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-http_2.8.0\/0.7.7\/dispatch-http_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-http_2.8.0;0.7.7!dispatch-http_2.8.0.jar (140ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-twitter_2.8.0\/0.7.7\/dispatch-twitter_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-twitter_2.8.0;0.7.7!dispatch-twitter_2.8.0.jar (82ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-couch_2.8.0\/0.7.7\/dispatch-couch_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-couch_2.8.0;0.7.7!dispatch-couch_2.8.0.jar (81ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-times_2.8.0\/0.7.7\/dispatch-times_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-times_2.8.0;0.7.7!dispatch-times_2.8.0.jar (68ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-s3_2.8.0\/0.7.7\/dispatch-s3_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-s3_2.8.0;0.7.7!dispatch-s3_2.8.0.jar (71ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-http-json_2.8.0\/0.7.7\/dispatch-http-json_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-http-json_2.8.0;0.7.7!dispatch-http-json_2.8.0.jar (66ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-mime_2.8.0\/0.7.7\/dispatch-mime_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-mime_2.8.0;0.7.7!dispatch-mime_2.8.0.jar (69ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-google_2.8.0\/0.7.7\/dispatch-google_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-google_2.8.0;0.7.7!dispatch-google_2.8.0.jar (68ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-json_2.8.0\/0.7.7\/dispatch-json_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-json_2.8.0;0.7.7!dispatch-json_2.8.0.jar (139ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-futures_2.8.0\/0.7.7\/dispatch-futures_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-futures_2.8.0;0.7.7!dispatch-futures_2.8.0.jar (71ms)\n[info] downloading http:\/\/scala-tools.org\/repo-releases\/net\/databinder\/dispatch-lift-json_2.8.0\/0.7.7\/dispatch-lift-json_2.8.0-0.7.7.jar ...\n[info]&nbsp; [SUCCESSFUL ] net.databinder#dispatch-lift-json_2.8.0;0.7.7!dispatch-lift-json_2.8.0.jar (68ms)\n[info] downloading http:\/\/repo1.maven.org\/maven2\/org\/apache\/httpcomponents\/httpclient\/4.0.1\/httpclient-4.0.1.jar ...\n[info]&nbsp; [SUCCESSFUL ] org.apache.httpcomponents#httpclient;4.0.1!httpclient.jar (590ms)\n[info] downloading http:\/\/repo1.maven.org\/maven2\/org\/apache\/httpcomponents\/httpcore\/4.0.1\/httpcore-4.0.1.jar ...\n[info]&nbsp; [SUCCESSFUL ] org.apache.httpcomponents#httpcore;4.0.1!httpcore.jar (191ms)\n[info] downloading http:\/\/repo1.maven.org\/maven2\/commons-logging\/commons-logging\/1.1.1\/commons-logging-1.1.1.jar ...\n[info]&nbsp; [SUCCESSFUL ] commons-logging#commons-logging;1.1.1!commons-logging.jar (361ms)\n[info] downloading http:\/\/repo1.maven.org\/maven2\/org\/apache\/httpcomponents\/httpmime\/4.0.1\/httpmime-4.0.1.jar ...\n[info]&nbsp; [SUCCESSFUL ] org.apache.httpcomponents#httpmime;4.0.1!httpmime.jar (355ms)\n[info] downloading http:\/\/repo1.maven.org\/maven2\/org\/apache\/james\/apache-mime4j\/0.6\/apache-mime4j-0.6.jar ...\n[info]&nbsp; [SUCCESSFUL ] org.apache.james#apache-mime4j;0.6!apache-mime4j.jar (573ms)\n[info] :: retrieving :: Lift#lift-sbt-template_2.8.0 [sync]\n[info]&nbsp; confs: [compile, runtime, test, provided, system, optional, sources, javadoc]\n[info]&nbsp; 18 artifacts copied, 22 already retrieved (1499kB\/76ms)\n[info] == update ==\n[success] Successful.\n[info]\n[info] Total time: 56 s, completed Oct 15, 2010 7:31:43 PM\n<\/pre>\n<p>\u5b9f\u969b\u306b\u4f7f\u3046\u306e\u306f\u3053\u308c\u304b\u3089\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u3001Lift\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30c1\u30e3\u30c3\u30c8\u30a2\u30d7\u30ea\u3092\u6539\u9020\u4e2d\u3002Twitter\u3068\u9023\u643a\u3055\u305b\u305f\u3044\u3068\u601d\u3063\u3066\u308b\u306e\u3067\u3001OAuth\u306e\u6a5f\u80fd\u3092\u7d44\u307f\u8fbc\u3082\u3046\u3068\u601d\u3046\u3002OAuth\u81ea\u4f53\u304c\u826f\u304f\u5206\u304b\u3063\u3066\u306a\u3044\u3093\u3060\u3051\u3069\u3002 \u3069\u3046\u3084\u3089Dispatch\u306a\u308b\u3082\u306e\u3092\u4f7f\u3046\u3089\u3057&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[20],"tags":[806,807,808,947],"class_list":["post-973","post","type-post","status-publish","format-standard","hentry","category-scala","tag-databinder-dispatch","tag-oauth","tag-sbt","tag-scala"],"_links":{"self":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts\/973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/comments?post=973"}],"version-history":[{"count":1,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts\/973\/revisions"}],"predecessor-version":[{"id":1162,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts\/973\/revisions\/1162"}],"wp:attachment":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/media?parent=973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/categories?post=973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/tags?post=973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}