<?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/"
	>

<channel>
	<title>w00kie&#039;s ramblings &#187; flickr</title>
	<atom:link href="http://w00kie.com/tag/flickr/feed/" rel="self" type="application/rss+xml" />
	<link>http://w00kie.com</link>
	<description>Living the good life in Japan</description>
	<lastBuildDate>Thu, 17 May 2012 11:39:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Crossdomain proxy on Google App Engine</title>
		<link>http://w00kie.com/2008/06/18/crossdomain-proxy-on-google-app-engine/</link>
		<comments>http://w00kie.com/2008/06/18/crossdomain-proxy-on-google-app-engine/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 05:05:55 +0000</pubDate>
		<dc:creator>w00kie</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Work stuff]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://w00kie.com/?p=271</guid>
		<description><![CDATA[Here's a crossdomain proxy to pipe Javascript Ajax calls from you Google App Engine application to the Flickr API, since most browser will not let you call another domain directly. import cgi import urllib from google.appengine.ext import webapp from google.appengine.api &#8230; <a href="http://w00kie.com/2008/06/18/crossdomain-proxy-on-google-app-engine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here's a crossdomain proxy to pipe Javascript Ajax calls from you Google App Engine application to the Flickr API, since most browser will not let you call another domain directly.</p>
<pre class="python"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">cgi</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib</span>
<span style="color: #ff7700;font-weight:bold;">from</span> google.<span style="color: black;">appengine</span>.<span style="color: black;">ext</span> <span style="color: #ff7700;font-weight:bold;">import</span> webapp
<span style="color: #ff7700;font-weight:bold;">from</span> google.<span style="color: black;">appengine</span>.<span style="color: black;">api</span> <span style="color: #ff7700;font-weight:bold;">import</span> urlfetch
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> FlickrController<span style="color: black;">&#40;</span>webapp.<span style="color: black;">RequestHandler</span><span style="color: black;">&#41;</span>:
	<span style="color: #483d8b;">&quot;&quot;</span><span style="color: #483d8b;">&quot;Proxy for Ajax calls to flickr&quot;</span><span style="color: #483d8b;">&quot;&quot;</span>
	<span style="color: #ff7700;font-weight:bold;">def</span> get<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
		flickrapiendpoint = <span style="color: #483d8b;">'http://api.flickr.com/services/rest/'</span>
		flickrapikey = <span style="color: #483d8b;">'you_flicker_api_key'</span>
&nbsp;
		params = <span style="color: #008000;">self</span>.<span style="color: black;">request</span>.<span style="color: black;">GET</span>
		params.<span style="color: black;">add</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'api_key'</span>, flickrapikey<span style="color: black;">&#41;</span>
		params.<span style="color: black;">add</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'format'</span>, <span style="color: #483d8b;">'json'</span><span style="color: black;">&#41;</span>
		apiquery = <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlencode</span><span style="color: black;">&#40;</span>params<span style="color: black;">&#41;</span>
&nbsp;
		result = urlfetch.<span style="color: black;">fetch</span><span style="color: black;">&#40;</span>url=flickrapiendpoint + <span style="color: #483d8b;">'?'</span> + apiquery, method=urlfetch.<span style="color: black;">GET</span><span style="color: black;">&#41;</span>
		<span style="color: #008000;">self</span>.<span style="color: black;">response</span>.<span style="color: black;">out</span>.<span style="color: black;">write</span><span style="color: black;">&#40;</span>result.<span style="color: black;">content</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
	application = webapp.<span style="color: black;">WSGIApplication</span><span style="color: black;">&#40;</span>
		<span style="color: black;">&#91;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/flickr/'</span>, FlickrController<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>,
		debug=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
	wsgiref.<span style="color: black;">handlers</span>.<span style="color: black;">CGIHandler</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">run</span><span style="color: black;">&#40;</span>application<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
	main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre>
<p>I didn't see examples of such a script anywhere else so I thought I'd post it here for all to see.</p>
]]></content:encoded>
			<wfw:commentRss>http://w00kie.com/2008/06/18/crossdomain-proxy-on-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: w00kie.com @ 2012-05-24 22:12:58 -->
