<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkQGR3w-eSp7ImA9WhRUEE8.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327</id><updated>2012-01-20T11:58:46.251+09:00</updated><category term="facebook" /><category term="SL" /><category term="google flickr" /><category term="ImageMagick" /><category term="Force.com" /><category term="python" /><category term="MySQLのデータをGAEへ転送" /><category term="DB" /><category term="Google App Engine" /><category term="Google" /><category term="blogger API" /><category term="Flickr" /><title>技術メモ</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://webdba.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://webdba.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>150</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/LNwwZ" /><feedburner:info uri="blogspot/lnwwz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkQHSHs6eSp7ImA9WhRWEEg.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-7397952642241105003</id><published>2011-12-11T14:25:00.001+09:00</published><updated>2011-12-28T16:45:39.511+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-28T16:45:39.511+09:00</app:edited><title>GAE SDK1.6 Python2.7</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CuuRwFozy-c5_qTWotz403v4fF4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CuuRwFozy-c5_qTWotz403v4fF4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CuuRwFozy-c5_qTWotz403v4fF4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CuuRwFozy-c5_qTWotz403v4fF4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;GAEがSDK1.6でPython2.7に対応したが既存のアプリを2.7にはDatastoreを利用している場合、移行できない。また local server は2.7に対応していない。
　&lt;p /&gt;
　&lt;p /&gt;

既存のアプリケーションで Datastore を一切使用していない場合
app.yaml を変更して
&lt;blockquote&gt;&lt;pre&gt;
&lt;b&gt;runtime: python27&lt;/b&gt;
# runtime: python
api_version: 1
&lt;b&gt;threadsafe: true&lt;/b&gt;  #マルチスレッドで動かす

- url: .*
# script: main.py
   &lt;b&gt;script: main.app&lt;/b&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
 python2.7 に移行することができるのかもしれないが、Datastoreを使用していた場合 Deploy の際、以下のエラーとなる。
&lt;blockquote&gt;&lt;pre&gt;
Error 400: --- begin server output ---
The 'python27' runtime is only supported for apps using the High Replication Datastore.
&lt;/pre&gt;&lt;/blockquote&gt;
　&lt;p /&gt;

Local Serverは2.7対応していないがコマンドラインからの実行もあるのでベースは2.7に変更することにした。
　&lt;p /&gt;

インストールされているバージョンを確認　&lt;p /&gt;
&lt;blockquote&gt;&lt;pre&gt;$ port select --list python
Available versions for python:
 none
 python25 (active)
 python25-apple
 python26-apple
 python27
&lt;/pre&gt;&lt;/blockquote&gt;
　&lt;p /&gt;

2.7 に変更　&lt;p /&gt;
&lt;blockquote&gt;&lt;pre&gt;
$sudo port select python python27
Password:
Selecting 'python27' for 'python' succeeded. 'python27' is now active.
&lt;/pre&gt;&lt;/blockquote&gt;
　&lt;p /&gt;
参考:
&lt;a href="http://stackoverflow.com/questions/6116697/macports-python-select-command-not-found"&gt;macports python_select command not found&lt;/a&gt;&lt;br /&gt;
　&lt;p /&gt;
　&lt;p /&gt;

GoogleAppEngineLauncherは2.5固定&lt;br /&gt;
(python2.7に対応していない。Preferenceを2.7に変更しても2.5に戻される)&lt;p /&gt;


&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-gC3FRID4i_E/TuREV3oetRI/AAAAAAAADSU/5Tp7Hx91JNI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882011-12-11%2B14.45.56%25EF%25BC%2589.png" imageanchor="1" style=""&gt;&lt;img border="0" height="362" width="400" src="http://4.bp.blogspot.com/-gC3FRID4i_E/TuREV3oetRI/AAAAAAAADSU/5Tp7Hx91JNI/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882011-12-11%2B14.45.56%25EF%25BC%2589.png" /&gt;&lt;/a&gt;&lt;/div&gt;

　&lt;p /&gt;

&lt;blockquote&gt;&lt;pre&gt;*** Running dev_appserver with the following flags:
    --admin_console_server= --port=8080
Python command: /opt/local/bin/python2.5
WARNING  2011-12-11 05:39:58,528 urlfetch_stub.py:111] No ssl package found. urlfetch will not be able to validate SSL certificates.
WARNING  2011-12-11 05:39:58,828 rdbms_mysqldb.py:90] The rdbms API is not available because the MySQLdb library could not be loaded.
INFO     2011-12-11 05:39:59,444 dev_appserver_multiprocess.py:637] Running application dev~snsimglink on port 8080: http://localhost:8080
WARNING  2011-12-11 05:40:10,308 py_zipimport.py:139] Can't open zipfile /opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg-info: IOError: [Errno 13] file not accessible: '/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg-info'
INFO     2011-12-11 05:40:11,033 dev_appserver.py:2753] "GET / HTTP/1.1" 200 -
&lt;/pre&gt;&lt;/blockquote&gt;

　&lt;p /&gt;
　&lt;p /&gt;

HRD
&lt;blockquote&gt;&lt;pre&gt;

Error 400: --- begin server output ---
The 'python27' runtime is only supported for apps using the High Replication Datastore.
--- end server output ---
If deploy fails you might need to 'rollback' manually.
The "Make Symlinks..." menu option can help with command-line work.
*** appcfg.py has finished with exit code 1 ***

&lt;/pre&gt;&lt;/blockquote&gt;
　&lt;p /&gt;
　&lt;p /&gt;
参考:
&lt;a href="http://pushit-dev.blogspot.com/2011/11/gaepython27.html"&gt;
【備忘録】 GAEでPython2.5からPython2.7へマイグレーションするには&lt;/a&gt;


&lt;blockquote&gt;&lt;pre&gt;GAEでのDjangoの使い方は２通りある（と思って）います。

&lt;b&gt;フレームワークとして使う（というか、生Djangoとして使う）&lt;/b&gt;

この場合settings.pyが必要になります。
書くべき中身は渡邉さんの引用したURLに書いてある通りですが、元ネタはDjangoの配布物に含まれています
ので、これをコピーして書き換えることになります（多分・・・自信無いですが一応動いた実績あり）。

&lt;b&gt;Djangoのテンプレートエンジンをwrapした、google.appengine.ext.webapp.templateとして使う
&lt;/b&gt;
GAE/Py2.5でそうしていた場合、GAE/Py2.7に切り替える際、あなたはプログラム上は何も変える必要がありません（※）。
Python2.7環境で上記をimportすると、中身はDjango1.2になっているからです。
やるべきことはDjango0.9.6と1.2の差分であるテンプレートエンジンの挙動の違いを、テンプレート側で
吸収してあげることです（デフォルトエスケープの扱いとか）。
※Python2.7対応はまた別の話です。&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-7397952642241105003?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/RnpDVQqxCjg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7397952642241105003?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7397952642241105003?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/RnpDVQqxCjg/gae-sdk16-python27.html" title="GAE SDK1.6 Python2.7" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-gC3FRID4i_E/TuREV3oetRI/AAAAAAAADSU/5Tp7Hx91JNI/s72-c/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882011-12-11%2B14.45.56%25EF%25BC%2589.png" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2011/12/gae-sdk16-python27.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AFQ3Y7fyp7ImA9WhRQEEw.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-8235723273702886772</id><published>2011-12-05T00:09:00.001+09:00</published><updated>2011-12-05T00:15:12.807+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-05T00:15:12.807+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ImageMagick" /><title>ImageMagick (convert)画像分割してLoop処理</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/m0B416Pdw0k_-jaAuq8FGZWe1kk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m0B416Pdw0k_-jaAuq8FGZWe1kk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/m0B416Pdw0k_-jaAuq8FGZWe1kk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m0B416Pdw0k_-jaAuq8FGZWe1kk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;ImageMagick ( convert )を利用して画像ファイルを分割
&lt;pre&gt;
-----------------------------

#! /bin/sh

w0=`identify -format "%w" $1`
h=`identify -format "%h" $1`
echo $w0

let w=w0/12
# let w=w0/4
echo $w
echo $h

convert -crop ${w}x${h} $1 dummy.jpg

current_files_directories=$(ls dummy*)
for temp in ${current_files_directories[@]};do
  echo ${temp}
done 

# eof
-----------------------------
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-8235723273702886772?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/t8dbHKk4G5g" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/8235723273702886772?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/8235723273702886772?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/t8dbHKk4G5g/imagemagick-convertloop.html" title="ImageMagick (convert)画像分割してLoop処理" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2011/12/imagemagick-convertloop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QCRnY5eyp7ImA9WhRQEE0.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-8793591822425021491</id><published>2011-12-03T22:26:00.001+09:00</published><updated>2011-12-04T23:36:07.823+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-04T23:36:07.823+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><title>Post facebook photo by Command line</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b6Krsqn2omWojsjgWTwZ6of-xT4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b6Krsqn2omWojsjgWTwZ6of-xT4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b6Krsqn2omWojsjgWTwZ6of-xT4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b6Krsqn2omWojsjgWTwZ6of-xT4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;access_token に対応したfacebook application名のアルバムに保存される&lt;br /&gt;
公開するためには手動で承認作業が必要。&lt;br /&gt;
　&lt;p/&gt;
&lt;b&gt;fb_image_upload.sh&lt;/b&gt;&lt;p /&gt;

&lt;pre&gt;
#!/bin/bash

if [ "$#" -eq 0 ];then
 echo "Do not get image. "
 else
 echo " Get image. "$1
 /opt/local/bin/python2.5 get_image.py $1
fi

msg="test"
caption="message="$msg""
token=`cat &lt;a href="http://webdba.blogspot.com/2011/12/get-facebook-albums-by-commad-line.html"&gt;.fb_access_token&lt;/a&gt;`
echo $caption
echo $token

echo `curl -F "access_token="$token"" -F "source=@"dummy.jpg"" -F "$caption" https://graph.facebook.com/me/photos`

&lt;/pre&gt;

alubm ID によりアルバムを指定して post することもできるが、この場合も公開には承認作業が必要。
&lt;blockquote&gt;echo `curl -F "access_token="$token"" -F "source=@"dummy.jpg"" -F "$caption" https://graph.facebook.com/&lt;b&gt;10150411507966880&lt;/b&gt;/photos`&lt;/blockquote&gt;

　&lt;p /&gt;
アプリケーションで自動作成されるアルバムには１０００枚まで写真が保存できるみたいです。
&lt;blockquote&gt;https://graph.facebook.com/ALBUM_ID/photos - The photo will be published to a specific, existing photo album, represented by the ALBUM_ID. Regular albums have a size limit of 200 photos. Default application albums have a size limit of 1000 photos.&lt;p /&gt;
&lt;a href="https://developers.facebook.com/docs/reference/api/photo/"&gt;https://developers.facebook.com/docs/reference/api/photo/
&lt;/a&gt;
&lt;/blockquote&gt;
　&lt;p /&gt;

関連&lt;br /&gt;
画像の取得  &lt;b&gt;get_image.py&lt;/b&gt;
&lt;pre&gt;
#!-*- coding:utf-8 -*-
#!/opt/local/bin/python2.5

import sys
import urllib
import httplib
import cStringIO
import ImageFile
from PIL import Image, ImageDraw, ImageFont
import string
import re

url = "http://xxx/xxx.jpg"
file = urllib.urlopen(url)
try:
  size = file.headers.get("content-length")
  print "size:" + size
  im = cStringIO.StringIO(file.read())
  img = Image.open(im)

except:
  print "Error: Url = " + url

img_type = "jpg"
img_file = url
if img_file[-3:] == "PNG" or img_file[-3:] == "png":
  img_type = "png"
  img.save("dummy."+ img_type,"PNG")
elif img_file[-3:] == "GIF" or img_file[-3:] == "gif":
  img_type = "gif"
  img.save("dummy."+ img_type,"GIF")
else:
  img.save("dummy."+ img_type,"JPEG")
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-8793591822425021491?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/ARAlmEVGA5Y" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/8793591822425021491?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/8793591822425021491?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/ARAlmEVGA5Y/post-facebook-photo-by-command-line.html" title="Post facebook photo by Command line" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2011/12/post-facebook-photo-by-command-line.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAEQX4-eSp7ImA9WhRQEE0.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-9109960946572464088</id><published>2011-12-03T20:11:00.001+09:00</published><updated>2011-12-04T22:01:40.051+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-04T22:01:40.051+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><title>Get facebook albums by commad line</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0c3KPZLNEan_VhbdQAMEayYsFNg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0c3KPZLNEan_VhbdQAMEayYsFNg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0c3KPZLNEan_VhbdQAMEayYsFNg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0c3KPZLNEan_VhbdQAMEayYsFNg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;ポイント  
&lt;ol&gt;
&lt;li&gt;GAEで利用する python2.5 でなくpython2.6以上を利用 &lt;br /&gt;
 &lt;quote&gt;
 json や urlparse.parse_qs でエラーとなる&lt;br /&gt;
&lt;i&gt;AttributeError: 'module' object has no attribute 'parse_qs'&lt;/i&gt;
&lt;/quote&gt;
&lt;/li&gt;
&lt;li&gt;'scope':'read_stream,user_photos'&lt;/li&gt;
&lt;li&gt;１度で２０件づつしか取得できないので paging が必要となる&lt;br/&gt;
また、先頭の１行のデータは重複する(?)。
&lt;/li&gt;
&lt;li&gt;http://127.0.0.1:8080/ を登録&lt;br/&gt;
&lt;div class="separator" style="text-align: center;" &gt;
&lt;a href="http://3.bp.blogspot.com/-VjYjPKlt2Tc/TtoLRYTJtiI/AAAAAAAADR0/mrwtWHMNkpQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882011-12-03%2B20.38.08%25EF%25BC%2589.png" imageanchor="1"&gt;&lt;img border="0" width="380" src="http://3.bp.blogspot.com/-VjYjPKlt2Tc/TtoLRYTJtiI/AAAAAAAADR0/mrwtWHMNkpQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882011-12-03%2B20.38.08%25EF%25BC%2589.png"  /&gt;&lt;/a&gt;&lt;/div&gt;
　&lt;p /&gt;
&lt;/li&gt;

&lt;li&gt;token が expire している場合は以下のエラーとなるため&lt;br /&gt;
&lt;i&gt;urllib2.HTTPError: HTTP Error 400: Bad Request
&lt;/i&gt;&lt;br /&gt;
$ rm .fb_access_token  
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
参考&lt;br /&gt;
&lt;a href="https://sites.google.com/site/benersuayen/lab/facebook"&gt;
https://sites.google.com/site/benersuayen/lab/facebook&lt;/a&gt;　　　
　&lt;p /&gt;
　&lt;p /&gt;
&lt;b&gt;fb_albums.py&lt;/b&gt;&lt;p /&gt;
&lt;pre&gt;
#!-*- coding:utf-8 -*-
#!/opt/local/bin/python2.7
import os.path
import json
import urllib2
import urllib
import urlparse
import BaseHTTPServer
import webbrowser

APP_ID = 'XXX'
APP_SECRET = 'XXX'
ENDPOINT = 'graph.facebook.com'
REDIRECT_URI = 'http://127.0.0.1:8080/'
ACCESS_TOKEN = None
LOCAL_FILE = '.fb_access_token'

def get_url(path, args=None):
    args = args or {}
    if ACCESS_TOKEN:
        args['access_token'] = ACCESS_TOKEN
    if 'access_token' in args or 'client_secret' in args:
        endpoint = "https://"+ENDPOINT
    else:
        endpoint = "http://"+ENDPOINT
    return endpoint+path+'?'+urllib.urlencode(args)

def get(path, args=None):
    return urllib2.urlopen(get_url(path, args=args)).read()

def do_next(next,last_id):
    count = 0
    for item in json.loads(get(next))['data']:
        if last_id &lt;&gt; item['id'].encode('utf-8'):
            print "%s, %s" % ( item['id'].encode('utf-8') ,item['name'].encode('utf-8') )
            count = count + 1
    print '---'
    last_id = item['id'].encode('utf-8')
    next = json.loads(get(next))['paging']['next']
    next = next.replace("https://graph.facebook.com/me/albums","/me/albums")
    if next and count &gt; 0:
        do_next(next,last_id)

class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):

    def do_GET(self):
        global ACCESS_TOKEN
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()

        code = urlparse.parse_qs(urlparse.urlparse(self.path).query).get('code')
        code = code[0] if code else None
        if code is None:
            self.wfile.write("Sorry, authentication failed.")
            sys.exit(1)
        response = get('/oauth/access_token', {'client_id':APP_ID,
                                               'redirect_uri':REDIRECT_URI,
                                               'client_secret':APP_SECRET,
                                               'code':code})
        ACCESS_TOKEN = urlparse.parse_qs(response)['access_token'][0]
        open(LOCAL_FILE,'w').write(ACCESS_TOKEN)
        self.wfile.write("You have successfully logged in to facebook. "
                         "You can close this window now.")

if __name__ == '__main__':
    if not os.path.exists(LOCAL_FILE):
        print "Logging you in to facebook..."
        webbrowser.open(get_url('/oauth/authorize',
                                {'client_id':APP_ID,
                                 'redirect_uri':REDIRECT_URI,
                                 'scope':'read_stream,user_photos'}))

        httpd = BaseHTTPServer.HTTPServer(('127.0.0.1', 8080), RequestHandler)
        while ACCESS_TOKEN is None:
            httpd.handle_request()
    else:
        ACCESS_TOKEN = open(LOCAL_FILE).read()
#    for item in json.loads(get('/me/feed'))['data']:
#        if item['type'] == 'status':
#            print item['from']['name'].encode('utf-8')
#            print item['message'].encode('utf-8')
#            if 'comments' in item:
#                for comment in item['comments']['data']:
#                  print comment['from']['name'].encode('utf-8')
#                 print comment['message'].encode('utf-8')
#            print '---'

#   for item in json.loads(get('/me/friends'))['data']:
    for item in json.loads(get('/me/albums'))['data']:
        print "%s, %s" % ( item['id'].encode('utf-8') ,item['name'].encode('utf-8') )
    last_id = item['id'].encode('utf-8')
    print '---'
    next = json.loads(get('/me/albums'))['paging']['next']
    prev = json.loads(get('/me/albums'))['paging']['previous']
#   print  prev
    print  next
    next = next.replace("https://graph.facebook.com/me/albums","/me/albums")
    if next:
        do_next(next,last_id)
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-9109960946572464088?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/pK2F03F4hNE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/9109960946572464088?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/9109960946572464088?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/pK2F03F4hNE/get-facebook-albums-by-commad-line.html" title="Get facebook albums by commad line" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-VjYjPKlt2Tc/TtoLRYTJtiI/AAAAAAAADR0/mrwtWHMNkpQ/s72-c/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882011-12-03%2B20.38.08%25EF%25BC%2589.png" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2011/12/get-facebook-albums-by-commad-line.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAAQX0-eCp7ImA9WxBQGUo.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-996856996770298408</id><published>2010-01-20T13:16:00.018+09:00</published><updated>2010-01-20T18:12:20.350+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-20T18:12:20.350+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Force.com" /><title>Force.com Mail設定</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zRav9ogJQVGH4hag4VkoUJOzs6w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zRav9ogJQVGH4hag4VkoUJOzs6w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zRav9ogJQVGH4hag4VkoUJOzs6w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zRav9ogJQVGH4hag4VkoUJOzs6w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;指定の　@xxxx.force.com にメールを送信すると Todo あるいはリード（引き合い）として登録される。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GRrE56uLdI8/S1aMvmzlntI/AAAAAAAACYM/M3jarxqZe60/s1600-h/forcecom_mail3.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 386px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/S1aMvmzlntI/AAAAAAAACYM/M3jarxqZe60/s400/forcecom_mail3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5428681150340374226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Todo で「すべての未完了」を選択し、登録内容を確認&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GRrE56uLdI8/S1a2jBSXnVI/AAAAAAAACYY/n-6QAeYdyAw/s1600-h/forcecom_mail4.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 178px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/S1a2jBSXnVI/AAAAAAAACYY/n-6QAeYdyAw/s400/forcecom_mail4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5428727113598868818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Todo から必要に応じて&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:'MS UI Gothic', 'MS PGothic', 'Hiragino Kaku Gothic Pro', Osaka, Arial, Helvetica, sans-serif;font-size:13px;"&gt;&lt;/span&gt; &lt;input value="フォローアップToDoの作成" class="btn" name="newTask" onclick="navigateToUrl('/00T/e?retURL=%2F00T80000016zvsP&amp;amp;tsk5=%E6%9C%AA%E8%A7%A3%E6%B1%BA%E3%81%AE%E9%9B%BB%E5%AD%90%E3%83%A1%E3%83%BC%E3%83%AB%3A+Fwd%3A+%5BOpen-EC%5D%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%81%8C%E5%85%A5%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F');" title="フォローアップToDoの作成" type="button" style="padding-top: 2px; font-family: 'MS UI Gothic', 'MS PGothic', 'Hiragino Kaku Gothic Pro', Osaka, Arial, Helvetica, sans-serif; background-image: url(https://na6.salesforce.com/img/bgButton.gif); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(92, 93, 97); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(92, 93, 97); border-top-style: none; border-top-width: initial; border-top-color: initial; border-left-style: none; border-left-width: initial; border-left-color: initial; font-size: 12px; color: rgb(255, 255, 255); padding-right: 3px; padding-bottom: 1px; padding-left: 3px; cursor: pointer; font-weight: normal; display: inline; margin-top: 0px; margin-right: 2px; margin-bottom: 0px; margin-left: 2px; line-height: 1; background-position: 0% 0%; background-repeat: repeat no-repeat; "&gt; &lt;input value="フォローアップ行動の作成" class="btn" name="newEvent" onclick="navigateToUrl('/00U/e?retURL=%2F00T80000016zvsP&amp;amp;evt5=%E6%9C%AA%E8%A7%A3%E6%B1%BA%E3%81%AE%E9%9B%BB%E5%AD%90%E3%83%A1%E3%83%BC%E3%83%AB%3A+Fwd%3A+%5BOpen-EC%5D%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%81%8C%E5%85%A5%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F');" title="フォローアップ行動の作成" type="button" style="padding-top: 2px; font-family: 'MS UI Gothic', 'MS PGothic', 'Hiragino Kaku Gothic Pro', Osaka, Arial, Helvetica, sans-serif; background-image: url(https://na6.salesforce.com/img/bgButton.gif); border-right-width: 1px; border-right-style: solid; border-right-color: rgb(92, 93, 97); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(92, 93, 97); border-top-style: none; border-top-width: initial; border-top-color: initial; border-left-style: none; border-left-width: initial; border-left-color: initial; font-size: 12px; color: rgb(255, 255, 255); padding-right: 3px; padding-bottom: 1px; padding-left: 3px; cursor: pointer; font-weight: normal; display: inline; margin-top: 0px; margin-right: 2px; margin-bottom: 0px; margin-left: 2px; line-height: 1; background-position: 0% 0%; background-repeat: repeat no-repeat; "&gt;&lt;br /&gt;あるいは&lt;/div&gt;&lt;div&gt;リード  (取引先などの登録は必要ない）&lt;/div&gt;&lt;div&gt;商談　（取引先の登録が必要）&lt;/div&gt;&lt;div&gt;を作成する&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;また　製品のサポート対応にはケースを利用する&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GRrE56uLdI8/S1bIQm9ClII/AAAAAAAACYs/SR_BTP_Iejc/s1600-h/forcecom_mail6.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/S1bIQm9ClII/AAAAAAAACYs/SR_BTP_Iejc/s400/forcecom_mail6.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5428746588501742722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ケース画面の製品リストは以下で作成&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GRrE56uLdI8/S1bIM5LTUDI/AAAAAAAACYk/7nWBvU6rgxU/s1600-h/forcecom_mail5.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_GRrE56uLdI8/S1bIM5LTUDI/AAAAAAAACYk/7nWBvU6rgxU/s400/forcecom_mail5.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5428746524673921074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;設定手順&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GRrE56uLdI8/S1aHSGc8uPI/AAAAAAAACX0/A1a3HDX639c/s1600-h/forcecom_mail1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 249px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/S1aHSGc8uPI/AAAAAAAACX0/A1a3HDX639c/s400/forcecom_mail1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5428675145881139442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;システム管理者が組織の [電子メール to Salesforce] を有効化しました。 [電子メール to Salesforce] により、出先からでも、自宅からでも、任意の電子メールアカウントやクライアントから、"電子メール to Salesforce" アドレスに電子メールを BCC すると、送信した電子メールを Salesforce 内のリード、取引先責任者、商談のレコードの活動として電子メールを記録できます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;次のリンクにアクセスして、使用を開始してください。&lt;/div&gt;&lt;div&gt;http://na6.salesforce.com/email/admin/emailToSalesforceUserEdit.apexp&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以上、よろしくお願い申し上げます。&lt;/div&gt;&lt;div&gt;xxxxxxx&lt;/div&gt;&lt;div&gt;Salesforce システム管理者&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GRrE56uLdI8/S1aKOAkA-gI/AAAAAAAACYA/0tbv4Xg3uyE/s1600-h/forcecom_mail2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 205px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/S1aKOAkA-gI/AAAAAAAACYA/0tbv4Xg3uyE/s400/forcecom_mail2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5428678374115572226" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-996856996770298408?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/XNAyEoCSRnM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/996856996770298408?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/996856996770298408?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/XNAyEoCSRnM/forcecom-mail.html" title="Force.com Mail設定" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_GRrE56uLdI8/S1aMvmzlntI/AAAAAAAACYM/M3jarxqZe60/s72-c/forcecom_mail3.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2010/01/forcecom-mail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFSXc_fip7ImA9WxBRF0o.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-4665196822676479283</id><published>2010-01-06T19:21:00.002+09:00</published><updated>2010-01-06T19:26:58.946+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-06T19:26:58.946+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine" /><title>Blob Viewer</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i1qD_9y5WP6sIKjnMFC7ZfSI1iQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i1qD_9y5WP6sIKjnMFC7ZfSI1iQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i1qD_9y5WP6sIKjnMFC7ZfSI1iQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i1qD_9y5WP6sIKjnMFC7ZfSI1iQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Blob Viewerが追加されていた&lt;br /&gt;&lt;a href="http://iis.museum-in-cloud.com/imgtw/?imglink=http://3fqmbq.bay.livefilestore.com/y1plgPPcNtVruRolDBlKCSBYgsPLTok6VQz9bCi65yWKAF6p-svFNl07mtruo8ts8tTRKOMtEweUq1_CNK-fXp3W26dJyEjewe-/blob_viewer.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 615px; height: 538px;" src="http://3fqmbq.bay.livefilestore.com/y1plgPPcNtVruRolDBlKCSBYgsPLTok6VQz9bCi65yWKAF6p-svFNl07mtruo8ts8tTRKOMtEweUq1_CNK-fXp3W26dJyEjewe-/blob_viewer.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-4665196822676479283?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/Ug0TzSfmKgY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/4665196822676479283?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/4665196822676479283?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/Ug0TzSfmKgY/blob-viewer.html" title="Blob Viewer" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2010/01/blob-viewer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGQn45cCp7ImA9WxBTF00.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-8253167450821246366</id><published>2009-12-13T18:15:00.012+09:00</published><updated>2009-12-13T22:00:23.028+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-13T22:00:23.028+09:00</app:edited><title>Task Queue, Transaction</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kM22HSilrXYt-bV-g52-aMbpFos/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kM22HSilrXYt-bV-g52-aMbpFos/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kM22HSilrXYt-bV-g52-aMbpFos/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kM22HSilrXYt-bV-g52-aMbpFos/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Scheduled Tasks With Cron for Python&lt;a href="http://code.google.com/intl/en/appengine/docs/python/config/cron.html"&gt;http://code.google.com/intl/en/appengine/docs/python/config/cron.html&lt;/a&gt;&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/kazunori_279/20090909/1252498193" target="_blank" style="color: rgb(75, 79, 87); "&gt;Task Queue戦記 - スティルハウスの書庫&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/higayasuo/20090914/1252899785" target="_blank" style="color: rgb(141, 144, 152); "&gt;TaskQueueをローカルでデバッグする方法 - ひがやすを blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/kazunori_279/20090616/1245128284" target="_blank" style="color: rgb(141, 144, 152); "&gt;Offline Processing on App Engine: a Look Aheadを見たメモ - スティルハウスの書庫&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;タスク Task --  &lt;a href="http://code.google.com/intl/ja/appengine/docs/python/taskqueue/overview.html"&gt;http://code.google.com/intl/ja/appengine/docs/python/taskqueue/overview.html&lt;/a&gt;&lt;div&gt;&lt;a href="http://code.google.com/intl/ja/appengine/docs/python/taskqueue/overview.html"&gt;&lt;/a&gt;-&lt;span class="Apple-style-span"   style="  ;font-family:Helvetica, Arial, sans-serif;font-size:small;"&gt;&lt;a href="http://groups.google.com/group/google-app-engine-japan/browse_thread/thread/28207f93c7f5b8ed/739d66ec553412e0?lnk=gst&amp;amp;q=1,000#739d66ec553412e0"&gt;http://groups.google.com/group/google-app-engine-japan/browse_thread/thread/28207f93c7f5b8ed/739d66ec553412e0?lnk=gst&amp;amp;q=1,000#739d66ec553412e0&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Helvetica, Arial, sans-serif;font-size:small;"&gt;&lt;a href="http://groups.google.com/group/google-app-engine-japan/browse_thread/thread/28207f93c7f5b8ed/739d66ec553412e0?lnk=gst&amp;amp;q=1,000#739d66ec553412e0"&gt;&lt;/a&gt;&lt;a href="http://code.google.com/intl/ja/appengine/docs/python/datastore/queriesandindexes.html#Queries_on_Keys"&gt;http://code.google.com/intl/ja/appengine/docs/python/datastore/queriesandindexes.html#Queries_on_Keys&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;やはり追加テーブルとのトランザクションはできない&lt;div&gt;けれども、子孫となるテーブルにすればできないこともない&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;      key_name ="http://pages.google.com/edit/kwin786/Impressionnism01_s.jpg-2"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;      r = db.get(db.Key.from_path('Imgmap',key_name))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:small;"&gt;db.run_in_transaction(update_imgmap,r.key())&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;def update_imgmap(key):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  r = db.get(key)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  r.regimgmapcontenturl = "1"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  s = ImgmapContentUrl(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;　　 　&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;key_name=r.content_url,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;&lt;b&gt;#　　　parent=key,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; 　　　&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;content_url = r.content_url)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  s.put()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  r.put()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:'MS PGothic';font-size:medium;"&gt;Traceback (most recent call last):   File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 507, in __call__     handler.get(*groups)   File "C:\google\museum-in-cloud\cron.py", line 70, in get     db.run_in_transaction(update_imgmap,r.key())   File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 1904, in RunInTransaction     DEFAULT_TRANSACTION_RETRIES, function, *args, **kwargs)   File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 2001, in RunInTransactionCustomRetries     result = function(*args, **kwargs)   File "C:\google\museum-in-cloud\cron.py", line 148, in update_imgmap     s.put()   File "C:\Program Files\Google\google_appengine\google\appengine\ext\db\__init__.py", line 797, in put     return datastore.Put(self._entity)   File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 198, in Put     tx = _MaybeSetupTransaction(req, keys)   File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 2090, in _MaybeSetupTransaction     raise _DifferentEntityGroupError(expected_group, group)   File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 2122, in _DifferentEntityGroupError     b.kind(), id_or_name(b))) BadRequestError: Cannot operate on different entity groups in a transaction: (kind=u'Imgmap', name=u'http://pages.google.com/edit/kwin786/Impressionnism01_s.jpg-2') and (kind=u'ImgmapContentUrl', name=u'http://pages.google.com/edit/kwin786/Impressionnism01_s.jpg').&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-8253167450821246366?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/LeGvg_zSXgo" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/8253167450821246366?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/8253167450821246366?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/LeGvg_zSXgo/task-queue.html" title="Task Queue, Transaction" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/12/task-queue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08BR3o-eCp7ImA9WxNUFkU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-3953804312104279454</id><published>2009-11-08T22:09:00.001+09:00</published><updated>2009-11-08T22:10:56.450+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-08T22:10:56.450+09:00</app:edited><title>Faster JavaScript with Closure</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LpK9QpJ8TIbKyWV9wrR4939sCAQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LpK9QpJ8TIbKyWV9wrR4939sCAQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LpK9QpJ8TIbKyWV9wrR4939sCAQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LpK9QpJ8TIbKyWV9wrR4939sCAQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://code.google.com/intl/closure/"&gt;http://code.google.com/intl/closure/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/intl/closure/closure/templates/docs/helloworld_js.html"&gt;http://code.google.com/intl/closure/closure/templates/docs/helloworld_js.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-3953804312104279454?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/lN6s62m5mqU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3953804312104279454?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3953804312104279454?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/lN6s62m5mqU/faster-javascript-with-closure.html" title="Faster JavaScript with Closure" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/11/faster-javascript-with-closure.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNRX45fyp7ImA9WxNQEkg.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-2103019508816334713</id><published>2009-09-18T14:07:00.009+09:00</published><updated>2009-09-18T14:54:54.027+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-18T14:54:54.027+09:00</app:edited><title>Twitter</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8Gl3cjMK77d4sWhrXZyy5nUrXGU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8Gl3cjMK77d4sWhrXZyy5nUrXGU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8Gl3cjMK77d4sWhrXZyy5nUrXGU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8Gl3cjMK77d4sWhrXZyy5nUrXGU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;EmbedはQueyを複数指定しするとLoadingのままとなって、NGのようです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Start of HootSuite Embed --&gt;&lt;br /&gt;&lt;object width="300" height="400" id="hootsuite_embed_2977"&gt;&lt;br /&gt;&lt;param name="movie" value="http://static.hootsuite.com/hoot-embed.swf"&gt;&lt;/param&gt;&lt;br /&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;br /&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;br /&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt;&lt;br /&gt;&lt;param name="flashvars" value="primaryColor=BEE1AA&amp;amp;refreshRate=0&amp;amp;query=Google+App+Engine&amp;amp;title=Google_App_Engine"&gt;&lt;/param&gt;&lt;br /&gt;&lt;embed src="http://static.hootsuite.com/hoot-embed.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="400" bgcolor="#FFFFFF" flashvars="primaryColor=BEE1AA&amp;amp;refreshRate=0&amp;amp;query=Google+App+Engine&amp;amp;title=Google_App_Engine"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;!-- End of HootSuite Embed --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-2103019508816334713?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/jj2PS43ZIa0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/2103019508816334713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/2103019508816334713?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/jj2PS43ZIa0/twitter.html" title="Twitter" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/09/twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YCR3Y7fyp7ImA9WxNRFk4.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-2556922217808994708</id><published>2009-09-11T12:02:00.004+09:00</published><updated>2009-09-11T12:19:26.807+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-11T12:19:26.807+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine" /><title>XMPP Python API</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/csV33e3D11QSD4tMKzDSfR7J0ek/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/csV33e3D11QSD4tMKzDSfR7J0ek/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/csV33e3D11QSD4tMKzDSfR7J0ek/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/csV33e3D11QSD4tMKzDSfR7J0ek/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thursday, September 3, 2009&lt;/div&gt;&lt;div&gt;App Engine SDK 1.2.5 released for Python and Java, now with XMPP support&lt;/div&gt;&lt;div&gt;&lt;a href="http://googleappengine.blogspot.com/2009/09/app-engine-sdk-125-released-for-python.html"&gt;http://googleappengine.blogspot.com/2009/09/app-engine-sdk-125-released-for-python.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;XMPP Python API Overview&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/intl/ja/appengine/docs/python/xmpp/overview.html"&gt;http://code.google.com/intl/ja/appengine/docs/python/xmpp/overview.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-2556922217808994708?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/UzcCU2B5Ep4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/2556922217808994708?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/2556922217808994708?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/UzcCU2B5Ep4/xmpp-python-api.html" title="XMPP Python API" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/09/xmpp-python-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUFRnsycCp7ImA9WxJaE0U.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-3835364790743815265</id><published>2009-08-04T20:31:00.006+09:00</published><updated>2009-08-04T20:43:37.598+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-04T20:43:37.598+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine" /><title>Index 復活</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v1cC0QCA1xcB0xLMNc4ABMRG6uE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v1cC0QCA1xcB0xLMNc4ABMRG6uE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v1cC0QCA1xcB0xLMNc4ABMRG6uE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v1cC0QCA1xcB0xLMNc4ABMRG6uE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ようやく復活&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;properties: []　&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;このインデックスは削除しないように注意&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;diff は一切表示なし。&lt;/div&gt;&lt;div&gt;C:\google&gt;appcfg.py vacuum_indexes blog-editor&lt;/div&gt;&lt;div&gt;Fetching index definitions diff.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C:\google&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;エラーログの内容を index.yaml に素直に追加するのが一番&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;- kind: Img&lt;/div&gt;&lt;div&gt;  properties:&lt;/div&gt;&lt;div&gt;  - name: open_mode&lt;/div&gt;&lt;div&gt;  - name: category&lt;/div&gt;&lt;div&gt;    direction: desc&lt;/div&gt;&lt;div&gt;  - name: modified&lt;/div&gt;&lt;div&gt;    direction: desc&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-3835364790743815265?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/LTHjcz9kjZA" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3835364790743815265?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3835364790743815265?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/LTHjcz9kjZA/index.html" title="Index 復活" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/08/index.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAGR3wzcCp7ImA9WxJaEU8.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-9210660828111697033</id><published>2009-08-01T20:37:00.001+09:00</published><updated>2009-08-01T20:38:46.288+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-01T20:38:46.288+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine" /><title>Index Error</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_8x_Dt2dOAUs93hw_648eVKtrpE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_8x_Dt2dOAUs93hw_648eVKtrpE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_8x_Dt2dOAUs93hw_648eVKtrpE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_8x_Dt2dOAUs93hw_648eVKtrpE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;"&lt;div style="text-align:center"&gt;&lt;img src="http://kwout.com/cutout/x/ir/s5/az8_bor.jpg" alt="http://code.google.com/intl/ja/appengine/kb/general.html#error_indexes" title="Google App Engine の一般的質問 - Google App Engine - Google Code" width="597" height="128" style="border:none" usemap="#map_xirs5az8" /&gt;&lt;map name="map_xirs5az8"&gt;&lt;area coords="245,115,371,127" href="http://code.google.com/appengine/articles/index_building.html#Splitting%20Within%20Tablets" alt="" shape="rect"&gt;&lt;area coords="1,24,88,36" href="http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Big_Entities_and_Exploding_Indexes" alt="" shape="rect"&gt;&lt;area coords="238,103,276,115" href="http://code.google.com/appengine/articles/index_building.html#Doing%20Work%20in%20Parallel" alt="" shape="rect"&gt;&lt;/map&gt;&lt;p style="margin-top:10px;text-align:center"&gt;&lt;a href="http://code.google.com/intl/ja/appengine/kb/general.html#error_indexes"&gt;Google App Engine の一般的質問 - Google App Engine - Google Code&lt;/a&gt; via &lt;a href="http://kwout.com/quote/xirs5az8"&gt;kwout&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;"&lt;div&gt;日本語の解説が作成されていいます。&lt;br /&gt;依然として待ち状態&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-9210660828111697033?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/ToxRQkIhM8I" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/9210660828111697033?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/9210660828111697033?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/ToxRQkIhM8I/index-error.html" title="Index Error" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/08/index-error.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UHRnk-cSp7ImA9WxJaEEk.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-9023524801007434008</id><published>2009-07-31T22:26:00.006+09:00</published><updated>2009-07-31T23:07:17.759+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-31T23:07:17.759+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine" /><title>Google App Engine : Index Error</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-JGyTBTyhCNfoLaZQsBFEncZMh8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-JGyTBTyhCNfoLaZQsBFEncZMh8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-JGyTBTyhCNfoLaZQsBFEncZMh8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-JGyTBTyhCNfoLaZQsBFEncZMh8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;どうやらまた同じようなミスをしてしまった&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.co.jp/group/google-app-engine-japan/msg/2cc3dbed1cbb8ccf"&gt;http://groups.google.co.jp/group/google-app-engine-japan/msg/2cc3dbed1cbb8ccf&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;このパターンだと思われ、１日待ってみる必要がある。&lt;/div&gt;&lt;div&gt; index.yaml の該当部分を削除して　vacume_indexes しても　Status が Error の&lt;/div&gt;&lt;div&gt;ままで Deleting にならず、削除が開始されない。　結果、 Error が消えないのでどうしようもない。&lt;br /&gt;&lt;div&gt;&lt;a href="http://groups.google.co.jp/group/google-appengine/browse_thread/thread/7345f9412eeeae7e/677c0c63ad85fd34?lnk=gst&amp;amp;q=index#677c0c63ad85fd34"&gt;http://groups.google.co.jp/group/google-appengine/browse_thread/thread/7345f9412eeeae7e/677c0c63ad85fd34?lnk=gst&amp;amp;q=index#677c0c63ad85fd34&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:12px;"&gt;&lt;div style="padding-left: 20px; text-indent: -16px; "&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:12px;"&gt;&lt;div style="padding-left: 20px; text-indent: -16px; "&gt;ローカル: &lt;b&gt;2009年7月21日(火) 午前11:52&lt;/b&gt;&lt;/div&gt;&lt;div style="padding-left: 20px; text-indent: -16px; "&gt;件名: &lt;b&gt;Re: can not force delete a index with error!&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:12px;"&gt;&lt;p&gt;I wasn't able to delete the "Error" status &lt;b style="color: black; background-color: rgb(255, 255, 102); "&gt;index&lt;/b&gt; for a day, the next&lt;br /&gt;day when I tried vacuum_indexes it got deleted without any problem.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The fist day I tried many times, but the &lt;b style="color: black; background-color: rgb(255, 255, 102); "&gt;index&lt;/b&gt; status was "Error" it&lt;br /&gt;didn't change to "Deleting...". It was kind of stuck at the error&lt;br /&gt;status. &lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;関連&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Google App Engineで、index.yamlに記述したインデックスが正しく生成されないときの対処法&lt;br /&gt;&lt;a href="http://akisute.com/2009/05/google-app-engineindexyaml.html"&gt;http://akisute.com/2009/05/google-app-engineindexyaml.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;GAE(google app engine) インデックスのトラブルの顛末&lt;br /&gt;&lt;a href="http://osima.jp/blog/gae-index-in-trouble.html"&gt;http://osima.jp/blog/gae-index-in-trouble.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-9023524801007434008?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/wZOfzuLNsTk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/9023524801007434008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/9023524801007434008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/wZOfzuLNsTk/index-error.html" title="Google App Engine : Index Error" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/07/index-error.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcMQno4fSp7ImA9WxJQFUo.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-7093919424651250397</id><published>2009-05-29T14:44:00.002+09:00</published><updated>2009-05-29T14:48:03.435+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T14:48:03.435+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogger API" /><title>Blogger API / max_resuts</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uE6vsWicuvXXNTb2VqvOEYFSqds/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uE6vsWicuvXXNTb2VqvOEYFSqds/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uE6vsWicuvXXNTb2VqvOEYFSqds/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uE6vsWicuvXXNTb2VqvOEYFSqds/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  font-weight: bold; line-height: 16px; font-family:Helvetica;font-size:13px;"&gt;X     max-results&lt;/span&gt;&lt;/div&gt;&lt;div&gt;○   max_results&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ex.   この値をセットしないと２５程度しか reults が得られない&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;  start_time ='2009-05-01'&lt;/div&gt;&lt;div&gt;  end_time   ='2009-05-31'&lt;/div&gt;&lt;div&gt;  query = service.Query()&lt;/div&gt;&lt;div&gt;  query.feed = '/feeds/' + blogID + '/posts/default'&lt;/div&gt;&lt;div&gt;  query.max_results = "100"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  query.published_min = start_time&lt;/div&gt;&lt;div&gt;  query.published_max = end_time&lt;/div&gt;&lt;div&gt;  feed = gd_service.Get(query.ToUri())&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://code.google.com/intl/ja/apis/blogger/docs/1.0/developers_guide_php.html#RetrievingWithQuery"&gt;http://code.google.com/intl/ja/apis/blogger/docs/1.0/developers_guide_php.html#RetrievingWithQuery&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-7093919424651250397?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/YrRZQYvXdFc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7093919424651250397?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7093919424651250397?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/YrRZQYvXdFc/blogger-api-maxresuts.html" title="Blogger API / max_resuts" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/05/blogger-api-maxresuts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAQ3s9eCp7ImA9WxVQF0Q.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-4056509179900109561</id><published>2009-02-05T10:54:00.001+09:00</published><updated>2009-02-05T10:57:22.560+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-05T10:57:22.560+09:00</app:edited><title>Blogger Data API</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_A-BL1853oc0QXOmlBxGLCVyKQ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_A-BL1853oc0QXOmlBxGLCVyKQ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_A-BL1853oc0QXOmlBxGLCVyKQ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_A-BL1853oc0QXOmlBxGLCVyKQ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold; "&gt;PHP による処理&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul class="list1" style="padding-left:16px;margin-left:16px"&gt;&lt;li&gt;&lt;a href="http://code.google.com/intl/ja/apis/blogger/docs/1.0/developers_guide_php.html" rel="nofollow"&gt;http://code.google.com/intl/ja/apis/blogger/docs/1.0/developers_guide_php.html&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;h3 id="content_1_1"&gt;&lt;a href="http://framework.zend.com/download/gdata" rel="nofollow"&gt;Zend Google Data APIs client library&lt;/a&gt; をダウンロードし展開 &lt;/h3&gt;&lt;h3 id="content_1_2"&gt;c:\php\&lt;!--autolink--&gt;&lt;a href="http://iis.museum-in-cloud.com/pukiwiki/index.php?php.ini" title="php.ini (26d)"&gt;php.ini&lt;/a&gt;&lt;!--/autolink--&gt; の include_path に追加 &lt;/h3&gt;&lt;p&gt;&lt;span style="color:white; background-color:green;"&gt;include_path = ".;c:\php\&lt;a href="http://iis.museum-in-cloud.com/pukiwiki/index.php?ZendGdata" title="ZendGdata (2d)"&gt;ZendGdata&lt;/a&gt;-1.7.3\library"&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="jumpmenu"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3 id="content_1_3"&gt;コマンドラインより実行 &lt;/h3&gt;&lt;h4 id="content_1_4"&gt;C:\php\&lt;a href="http://iis.museum-in-cloud.com/pukiwiki/index.php?ZendGdata" title="ZendGdata (2d)"&gt;ZendGdata&lt;/a&gt;-1.7.3\demos\Zend\Gdata&gt;c:\php\php &lt;a href="http://www.museum-in-cloud.com/index.php?imglink=http://installmaniax2008.googlepages.com/blogger2_php.jpg&amp;amp;option=tipmage" rel="nofollow"&gt;Blogger.php&lt;/a&gt; -- --user=xxx --pass=xxxx &lt;/h4&gt;&lt;pre&gt;&lt;br /&gt;Note: This sample may Create, Read, Update and Delete data stored in the account  provided.  Please exit now if you provi&lt;br /&gt;ded an account which contains important data.&lt;br /&gt;&lt;br /&gt;     0 Tech memo&lt;br /&gt;     1 web2000&lt;/pre&gt;&lt;br /&gt;&lt;div class="ie5"&gt;&lt;table class="style_table" cellspacing="1" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="style_td"&gt;public function promptForBlogID()&lt;/td&gt;&lt;td class="style_td"&gt;// 以下の処理で prompt を停止可&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style_td"&gt;{&lt;/td&gt;&lt;td class="style_td"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style_td"&gt;$query = new Zend_Gdata_Query('&lt;a href="http://www.blogger.com/feeds/default/blogs');" rel="nofollow"&gt;http://www.blogger.com/feeds/default/blogs');&lt;/a&gt;&lt;/td&gt;&lt;td class="style_td"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style_td"&gt;$feed = $this-&amp;gt;gdClient-&amp;gt;getFeed($query);&lt;/td&gt;&lt;td class="style_td"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style_td"&gt;$this-&amp;gt;printFeed($feed);&lt;/td&gt;&lt;td class="style_td"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style_td"&gt;//$input = getInput("\nSelection");&lt;/td&gt;&lt;td class="style_td"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="style_td"&gt;$input = "0";&lt;/td&gt;&lt;td class="style_td"&gt;//0 Tech memo に固定&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;Selection: 0&lt;br /&gt;Creating a post.&lt;br /&gt;Creating a draft post.&lt;br /&gt;Updating the previous post and publishing it.&lt;br /&gt;The new title of the post is: Hello, world, it is.&lt;br /&gt;The new body of the post is: There we go.&lt;br /&gt;Adding a comment to the previous post.&lt;br /&gt;Added new comment: I am so glad this is public now.&lt;br /&gt;Adding another comment.~&lt;br /&gt;Added new comment: This is a spammy comment.~&lt;br /&gt;Deleting the previous comment.~&lt;br /&gt;Printing all posts.&lt;br /&gt;     0 Hello, world, it is.&lt;br /&gt;     1 Hello, world!&lt;br /&gt;     2 Mambo / Install Maniax2008&lt;br /&gt;     3 Joomla!  / Install Maniax2008&lt;br /&gt;       ・・・~&lt;br /&gt;     23 multipart/form-data~&lt;br /&gt;    24 it's not found as __builtin__.instancemethod&lt;br /&gt;Printing posts between 2007-01-01 and 2007-03-01.&lt;br /&gt;Deleting the post titled: Hello, world, it is.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.museum-in-cloud.com/index.php?imglink=http://installmaniax2008.googlepages.com/blogger2_php.jpg&amp;amp;option=tipmage" rel="nofollow"&gt;Blogger.php&lt;/a&gt; を元に&lt;br /&gt;&lt;a href="http://iis.museum-in-cloud.com/pukiwiki/index.php?Blogger2.php" title="Blogger2.php (2d)"&gt;Blogger2.php&lt;/a&gt; を作成し転送処理を実行&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-4056509179900109561?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/fV2sWLpQoeM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/4056509179900109561?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/4056509179900109561?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/fV2sWLpQoeM/blogger-data-api.html" title="Blogger Data API" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/02/blogger-data-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04CQXg_eip7ImA9WxVQFEw.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-3261078250316162220</id><published>2009-01-30T21:12:00.012+09:00</published><updated>2009-02-01T00:32:40.642+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-01T00:32:40.642+09:00</app:edited><title>Blogger Data API Developer's Guide: PHP Hello, world!</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JHiaUvu3RAcyaRnQg050ho5CBlI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JHiaUvu3RAcyaRnQg050ho5CBlI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JHiaUvu3RAcyaRnQg050ho5CBlI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JHiaUvu3RAcyaRnQg050ho5CBlI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I am on the intarweb!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/intl/ja/apis/blogger/docs/1.0/developers_guide_php.html"&gt;http://code.google.com/intl/ja/apis/blogger/docs/1.0/developers_guide_php.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;c:\php\php.ini&lt;br /&gt;&lt;code&gt;include_path = ".;c:\php\ZendGdata-1.7.3\library"&lt;/code&gt;&lt;br /&gt;C:\php\ZendGdata-1.7.3\demos\Zend\Gdata&gt;&lt;strong&gt;c:\php\php Blogger.php -- --user=xxx --pass=xxxx&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;Note: This sample may Create, Read, Update and Delete data stored in the account provided.  Please exit now if you provi&lt;br /&gt;ded an account which contains important data.&lt;br /&gt;&lt;br /&gt;       0 Tech memo&lt;br /&gt;       1 web2000&lt;br /&gt;&lt;br /&gt;Selection: 0&lt;br /&gt;Creating a post.&lt;br /&gt;Creating a draft post.&lt;br /&gt;Updating the previous post and publishing it.&lt;br /&gt;The new title of the post is: Hello, world, it is.&lt;br /&gt;The new body of the post is: There we go.&lt;br /&gt;Adding a comment to the previous post.&lt;br /&gt;Added new comment: I am so glad this is public now.&lt;br /&gt;Adding another comment.&lt;br /&gt;Added new comment: This is a spammy comment.&lt;br /&gt;Deleting the previous comment.&lt;br /&gt;Printing all posts.&lt;br /&gt;       0 Hello, world, it is.&lt;br /&gt;       1 Hello, world!&lt;br /&gt;       2 Mambo / Install Maniax2008&lt;br /&gt;       3 Joomla!  / Install Maniax2008&lt;br /&gt;         ・・・&lt;br /&gt;       23 multipart/form-data&lt;br /&gt;      24 it's not found as __builtin__.instancemethod&lt;br /&gt;Printing posts between 2007-01-01 and 2007-03-01.&lt;br /&gt;Deleting the post titled: Hello, world, it is.&lt;br /&gt;&lt;br /&gt;C:\php\ZendGdata-1.7.3\demos\Zend\Gdata&gt;&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;blogger new posts, setting the scheduled post date and categories&lt;br /&gt;&lt;a href="http://groups.google.com/group/bloggerDev/browse_thread/thread/a1eee09632f7eb9e?pli=1"&gt;http://groups.google.com/group/bloggerDev/browse_thread/thread/a1eee09632f7eb9e?pli=1&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   public function createPost($title, $content, $isDraft=False)&lt;br /&gt;   {&lt;br /&gt;       // We're using the magic factory method to create a Zend_Gdata_Entry.&lt;br /&gt;       // http://framework.zend.com/manual/en/zend.gdata.html#zend.gdata.introdduction.magicfactory&lt;br /&gt;       $entry = $this-&gt;gdClient-&gt;newEntry();&lt;br /&gt;       $entry-&gt;title = $this-&gt;gdClient-&gt;newTitle(trim($title));&lt;br /&gt;       $entry-&gt;content = $this-&gt;gdClient-&gt;newContent(trim($content));&lt;br /&gt;       $entry-&gt;content-&gt;setType('text');&lt;br /&gt;       $entry-&gt;category = array(&lt;br /&gt;        $this-&gt;gdClient-&gt;newCategory('this is a label', 'http://www.blogger.com/atom/ns#'),&lt;br /&gt;        $this-&gt;gdClient-&gt;newCategory('this is another label', 'http://www.blogger.com/atom/ns#'));&lt;br /&gt;       $uri = "http://www.blogger.com/feeds/" . $this-&gt;blogID . "/posts/default";&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: 'Trebuchet MS'; white-space: normal; "&gt;1 日に多数の投稿を行う場合は、確認用の文字の入力を求められます。 確認用の文字は、24 時間が経過すると自動的に削除されます&lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;このためのエラー&lt;/pre&gt;&lt;pre&gt;Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 400 Blog has exceeded rate limit or otherwise requires word verification for new posts' in C:\php\ZendGdata-1.7.3\library\Ze nd\Gdata\App.php:644&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-3261078250316162220?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/Q4i8K0nis_M" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3261078250316162220?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3261078250316162220?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/Q4i8K0nis_M/hello-world.html" title="Blogger Data API Developer's Guide: PHP Hello, world!" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2009/01/hello-world.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAMRX0yeyp7ImA9WxVTEks.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-5647325353904418661</id><published>2008-12-25T21:48:00.008+09:00</published><updated>2008-12-26T12:06:24.393+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-26T12:06:24.393+09:00</app:edited><title>IIS + MySql</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8hJOsUxXWBmAJoXJpHeeKuu2RI4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8hJOsUxXWBmAJoXJpHeeKuu2RI4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8hJOsUxXWBmAJoXJpHeeKuu2RI4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8hJOsUxXWBmAJoXJpHeeKuu2RI4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=2113684&amp;amp;SiteID=36"&gt;http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=2113684&amp;amp;SiteID=36&lt;/a&gt;&lt;div&gt;&lt;a href="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#Windows_Server_2008:_"&gt;http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#Windows_Server_2008:_&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://www.microsoft.com/japan/opensource/php/learning/default.mspx"&gt;https://www.microsoft.com/japan/opensource/php/learning/default.mspx&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.1.html#win32"&gt;http://dev.mysql.com/downloads/mysql/5.1.html#win32&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;PHP5でMySQLを有効にする（Windows）&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. PHP設定ファイル（PHP.ini）の「;extension=php_mysql.dll」のコメントを解除。&lt;/div&gt;&lt;div&gt;2. PHP設定ファイル（PHP.ini）のextension_dirにphp_mysql.dllを追加。（例：extension_dir = "c:\php\ext\"）&lt;/div&gt;&lt;div&gt;3. PHPインストール先（例：c:\php）にあるlibmysql.dllをWindowsディレクトリ（例：c:\windows）にコピー。&lt;/div&gt;&lt;div&gt;4. IIS7を再起動。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://phponwindows.net/Joomla.aspx"&gt;http://phponwindows.net/Joomla.aspx&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://forum.joomla.jp/download.html&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://tedia.jp/installmaniax/2008/im2008_oss.html"&gt;http://tedia.jp/installmaniax/2008/im2008_oss.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-5647325353904418661?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/nVXd664PJHU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/5647325353904418661?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/5647325353904418661?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/nVXd664PJHU/iis-mysql.html" title="IIS + MySql" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2008/12/iis-mysql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AMRnk5fyp7ImA9WxVTEUU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-5937064598941693545</id><published>2008-12-22T12:43:00.007+09:00</published><updated>2008-12-25T15:16:27.727+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-25T15:16:27.727+09:00</app:edited><title>Force.com Sites Developer</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cr0049NznmhFfeLrXTop2ZCze7Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cr0049NznmhFfeLrXTop2ZCze7Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cr0049NznmhFfeLrXTop2ZCze7Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cr0049NznmhFfeLrXTop2ZCze7Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://cloud-developer-edition.na6.force.com/cloud"&gt;http://cloud-developer-edition.na6.force.com/cloud&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.apexdevnet.com/index.php/Developer_Challenge_Guide"&gt;http://wiki.apexdevnet.com/index.php/Developer_Challenge_Guide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.apexdevnet.com/index.php/Announcing_Visualforce"&gt;http://wiki.apexdevnet.com/index.php/Announcing_Visualforce&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://wiki.apexdevnet.com/index.php/Force.com_Tutorial:_An_Introduction_to_Visualforce"&gt;http://wiki.apexdevnet.com/index.php/Force.com_Tutorial:_An_Introduction_to_Visualforce&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://museum-in-cloud.appspot.com/index.php?imglink=http://kwin786.googlepages.com/sfa16.jpg&amp;amp;option=tipmage"&gt;&lt;img src="http://kwin786.googlepages.com/sfa16.jpg" width="144" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://developerforce.s3.amazonaws.com/books/Forcedotcom_workbookv2.pdf&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-5937064598941693545?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/f_6xL8TJM28" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/5937064598941693545?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/5937064598941693545?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/f_6xL8TJM28/forcecom-sites-developer.html" title="Force.com Sites Developer" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://webdba.blogspot.com/2008/12/forcecom-sites-developer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EDQ3g-cCp7ImA9WxRaFUU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-6288324450390825116</id><published>2008-12-18T10:36:00.006+09:00</published><updated>2008-12-18T16:34:32.658+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-18T16:34:32.658+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Force.com" /><title>SOQL Questions</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jHM7F4KioefEyaTRpcmbKZ527m8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jHM7F4KioefEyaTRpcmbKZ527m8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jHM7F4KioefEyaTRpcmbKZ527m8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jHM7F4KioefEyaTRpcmbKZ527m8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Q. Does anyone know an easy way to simulate a SELECT DISTINCT operation in SOQL?&lt;br /&gt;   Also, how do you check for NULL in a WHERE clause.  I know IS NULL does not work?&lt;br /&gt;&lt;br /&gt;A. SELECT Id FROM CASE WHERE Id &lt;&gt; null&lt;br /&gt;   or&lt;br /&gt;   SELECT Id FROM CASE WHERE Id = null&lt;br /&gt;&lt;br /&gt;   don't think there's anything like distinct though&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.salesforce.com/sforce/board/message?board.id=NET_development&amp;message.id=2406&amp;query.id=8066#M2406"&gt;http://community.salesforce.com/sforce/board/message?board.id=NET_development&amp;message.id=2406&amp;query.id=8066#M2406&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;Q. Join&lt;br /&gt;Accessing Query Results from a Relationship Query from the Partner WSDL with Axis for Java&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.apexdevnet.com/index.php/Accessing_Query_Results_from_a_Relationship_Query_from_the_Partner_WSDL_with_Axis_for_Java"&gt;http://wiki.apexdevnet.com/index.php/Accessing_Query_Results_from_a_Relationship_Query_from_the_Partner_WSDL_with_Axis_for_Java&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://1.bp.blogspot.com/_GRrE56uLdI8/SUn8cZzwcvI/AAAAAAAABec/KT_tRkoRuW0/s800/sfa06.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 295px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/SUn8cZzwcvI/AAAAAAAABec/KT_tRkoRuW0/s400/sfa06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5281029602963124978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://2.bp.blogspot.com/_GRrE56uLdI8/SUn87KMewYI/AAAAAAAABek/d_rzEOmi4oc/s800/sfa08.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 309px;" src="http://2.bp.blogspot.com/_GRrE56uLdI8/SUn87KMewYI/AAAAAAAABek/d_rzEOmi4oc/s400/sfa08.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5281030131347800450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Q. Update many rows&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;sql = "select id from Product2 where ProductCode like '%.jp%' and Family &lt;&gt; 'blog' "&lt;br /&gt;query_result = client.query( sql )&lt;br /&gt;&lt;br /&gt;if ( query_result['records'].__len__() &lt; 1 ): &lt;br /&gt;  self.response.out.write('no product found with : %s ' % sql )&lt;br /&gt;else   :&lt;br /&gt;  products = query_result['records']&lt;br /&gt;  for  product in products:       &lt;br /&gt;    product['Family'] = 'blog'&lt;br /&gt;    results = client.update( product )&lt;br /&gt;&lt;br /&gt;    self.response.out.write( results )&lt;br /&gt;    if results[0]['success'] :&lt;br /&gt;      self.response.out.write( 'updated. ' )&lt;br /&gt;    else:&lt;br /&gt;      self.response.out.write( results[0]['errors'] )&lt;br /&gt;      self.response.out.write( 'Error. ' )&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-6288324450390825116?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/Yy72l9UxTUY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/6288324450390825116?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/6288324450390825116?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/Yy72l9UxTUY/soql-questions.html" title="SOQL Questions" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_GRrE56uLdI8/SUn8cZzwcvI/AAAAAAAABec/KT_tRkoRuW0/s72-c/sfa06.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/soql-questions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcMQnw6cSp7ImA9WxRaFU8.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-3714724934938974027</id><published>2008-12-17T22:37:00.010+09:00</published><updated>2008-12-17T23:28:03.219+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-17T23:28:03.219+09:00</app:edited><title>Cannot build indexes that are in state ERROR.</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uonXkqB_IVy80cWT1vommXjK8GQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uonXkqB_IVy80cWT1vommXjK8GQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uonXkqB_IVy80cWT1vommXjK8GQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uonXkqB_IVy80cWT1vommXjK8GQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Uploading index definitions.&lt;br /&gt;Error 400: --- begin server output ---&lt;br /&gt;Cannot build indexes that are in state ERROR.&lt;br /&gt;&lt;br /&gt;To vacuum and rebuild your indexes:&lt;br /&gt;1. Create a backup of your index.yaml specification.&lt;br /&gt;2. Determine the indexes in state ERROR from your admin console: http://appengine.google.com/datastore/indexes?&amp;amp;app_id=blog-editor&lt;br /&gt;3. Remove the definitions of the indexes in ERROR from your index.yaml file.&lt;br /&gt;4. Run "appcfg.py vacuum_indexes your_app_dir/"&lt;br /&gt;5. Wait until the ERROR indexes no longer appear in your admin console.&lt;br /&gt;6. Replace the modified version of your index.yaml file with the original.&lt;br /&gt;7. Run "appcfg.py update_indexes your_app_dir/"&lt;br /&gt;--- end server output ---&lt;br /&gt;Your app was updated, but there was an error updating your indexes. Please retry later with appcfg.py update_indexes.&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://1.bp.blogspot.com/_GRrE56uLdI8/SUkBaBMhaLI/AAAAAAAABeM/iT5QjfFijaI/s800/100.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 257px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/SUkBaBMhaLI/AAAAAAAABeM/iT5QjfFijaI/s400/100.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5280753584577800370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C:\google&gt;appcfg.py vacuum_indexes  blog-editor/&lt;br /&gt;Fetching index definitions diff.&lt;br /&gt;This index is no longer defined in your index.yaml file.&lt;br /&gt;&lt;br /&gt;ancestor: true&lt;br /&gt;kind: BlogUrlYm&lt;br /&gt;properties: []&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Are you sure you want to delete this index? (N/y/a): y&lt;br /&gt;This index is no longer defined in your index.yaml file.&lt;br /&gt;&lt;br /&gt;ancestor: true&lt;br /&gt;kind: Blog&lt;br /&gt;properties: []&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Are you sure you want to delete this index? (N/y/a): y&lt;br /&gt;This index is no longer defined in your index.yaml file.&lt;br /&gt;&lt;br /&gt;ancestor: true&lt;br /&gt;kind: Stock&lt;br /&gt;properties: []&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Are you sure you want to delete this index? (N/y/a): y&lt;br /&gt;This index is no longer defined in your index.yaml file.&lt;br /&gt;&lt;br /&gt;ancestor: true&lt;br /&gt;kind: Img&lt;br /&gt;properties: []&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Are you sure you want to delete this index? (N/y/a): y&lt;br /&gt;This index is no longer defined in your index.yaml file.&lt;br /&gt;&lt;br /&gt;kind: Blog&lt;br /&gt;properties:&lt;br /&gt;- direction: desc&lt;br /&gt;name: ym&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Are you sure you want to delete this index? (N/y/a): y&lt;br /&gt;This index is no longer defined in your index.yaml file.&lt;br /&gt;&lt;br /&gt;ancestor: true&lt;br /&gt;kind: Timeline&lt;br /&gt;properties: []&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Are you sure you want to delete this index? (N/y/a): y&lt;br /&gt;Deleting selected index definitions.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;C:\google&gt;appcfg.py update_indexes blog-editor/&lt;br /&gt;Uploading index definitions.&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://4.bp.blogspot.com/_GRrE56uLdI8/SUkMI7edm-I/AAAAAAAABeU/ob6oTxs3egQ/s800/100.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 393px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/SUkMI7edm-I/AAAAAAAABeU/ob6oTxs3egQ/s400/100.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5280765385612565474" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-3714724934938974027?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/ud2pVX4-u1M" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3714724934938974027?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3714724934938974027?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/ud2pVX4-u1M/cannot-build-indexes-that-are-in-state.html" title="Cannot build indexes that are in state ERROR." /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_GRrE56uLdI8/SUkBaBMhaLI/AAAAAAAABeM/iT5QjfFijaI/s72-c/100.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/cannot-build-indexes-that-are-in-state.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4AQHc7fyp7ImA9WxRaFE0.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-7654587872333307143</id><published>2008-12-16T15:00:00.002+09:00</published><updated>2008-12-16T15:12:21.907+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-16T15:12:21.907+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Force.com" /><title>ASSETS / 納入商品 Force.com</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CVjQUpjKN-yOpYTdZi-1oNeV_aQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CVjQUpjKN-yOpYTdZi-1oNeV_aQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CVjQUpjKN-yOpYTdZi-1oNeV_aQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CVjQUpjKN-yOpYTdZi-1oNeV_aQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;div&gt;Account - Assset - Product2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;ASSETS / 納入商品&lt;/span&gt;とは?&lt;br /&gt;会社が販売する品目が商品であるのに対し、&lt;div&gt;納入商品とは、販売品の&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;シリアル番号、購入日&lt;/span&gt;、その他の情報なども含め、&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;顧客が購入した特定の商品&lt;/span&gt;を表します。&lt;/div&gt;&lt;div&gt;組織における納入商品の使用方法によっては、顧客が所有する競合商品や&lt;/div&gt;&lt;div&gt;自社商品のバージョンを表すこともあります。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;組織で商品を有効にした場合、その組織では納入商品が自動的に有効になります。&lt;/div&gt;&lt;div&gt;ただし、ユーザが納入商品を使用するには、まず、&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;システム管理者が自身の組織をカスタマイズ&lt;/span&gt;する必要があります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;取引先、取引先責任者、および商品ページレイアウトに納入商品関連リストを追加します。&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://na6.salesforce.com/help/doc/en/sf.pdf"&gt;https://na6.salesforce.com/help/doc/en/sf.pdf&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" title="設定- カスタマイズ -ページレイアウト" href="http://3.bp.blogspot.com/_GRrE56uLdI8/SUdDJpiLs6I/AAAAAAAABd8/t8MMeEyG5FI/s800/sfa04.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 352px;" src="http://3.bp.blogspot.com/_GRrE56uLdI8/SUdDJpiLs6I/AAAAAAAABd8/t8MMeEyG5FI/s400/sfa04.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5280262921162306466" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a rel="lightbox" title="Account - Assset - Product2" href="http://4.bp.blogspot.com/_GRrE56uLdI8/SUdDos44UXI/AAAAAAAABeE/PJ5zOQ08cuQ/s800/sfa05.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 334px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/SUdDos44UXI/AAAAAAAABeE/PJ5zOQ08cuQ/s400/sfa05.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5280263454638756210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-7654587872333307143?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/WOgRPSZ4DAU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7654587872333307143?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7654587872333307143?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/WOgRPSZ4DAU/assets-forcecom.html" title="ASSETS / 納入商品 Force.com" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_GRrE56uLdI8/SUdDJpiLs6I/AAAAAAAABd8/t8MMeEyG5FI/s72-c/sfa04.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/assets-forcecom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cAQng8eyp7ImA9WxRaFUU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-7422190242119633396</id><published>2008-12-11T19:45:00.010+09:00</published><updated>2008-12-18T16:24:03.673+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-18T16:24:03.673+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Force.com" /><title>cloud to cloud</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EgMFLd63nN1ivfdOHXrMS1_Xew8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EgMFLd63nN1ivfdOHXrMS1_Xew8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EgMFLd63nN1ivfdOHXrMS1_Xew8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EgMFLd63nN1ivfdOHXrMS1_Xew8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://cloud-cloud.appspot.com/"&gt;http://cloud-cloud.appspot.com/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'MS PGothic';"&gt;&lt;h1&gt;&lt;br /&gt;&lt;/h1&gt;&lt;h1&gt;Error: Method Not Allowed&lt;/h1&gt;&lt;h2&gt;The request method GETis inappropriate for the URL /login.&lt;/h2&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;local の SDK では問題なく動作していた&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-weight: bold; font-family:'Trebuchet MS';font-size:17px;"&gt;&lt;br /&gt;&lt;a href="http://webdba.blogspot.com/2008/12/forcecom-for-google-app-engine_10.html" style="text-decoration: none; color: rgb(51, 51, 51); "&gt;Force.com for Google App Engine　&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;も実際に cloud にupload してみると、動作せず。&lt;div&gt;app.yaml 　の　secure: always で hppts にしているためかなのかと&lt;/div&gt;&lt;div&gt;思ったが、　どうやら static 静的な html から post している部分が&lt;/div&gt;&lt;div&gt;原因であるようで、 template の html を利用するようにしたところ&lt;/div&gt;&lt;div&gt;cloud でも無事動作した。&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://kwin.s288.xrea.com/img/sfa03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 92px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/SUG6_pFfgoI/AAAAAAAABcw/zmEf1f9D6MY/s400/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278705840778347138" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-7422190242119633396?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/5iLVMQQqisk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7422190242119633396?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7422190242119633396?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/5iLVMQQqisk/cloud-to-cloud.html" title="cloud to cloud" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_GRrE56uLdI8/SUG6_pFfgoI/AAAAAAAABcw/zmEf1f9D6MY/s72-c/1.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/cloud-to-cloud.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cGQXg7fyp7ImA9WxRaFUU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-7558741505188276848</id><published>2008-12-10T11:11:00.011+09:00</published><updated>2008-12-18T16:23:40.607+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-18T16:23:40.607+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Force.com" /><title>Force.com for Google App Engine　日本語</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hftTsRgqsZBIuOP8m7eNnN9bJrw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hftTsRgqsZBIuOP8m7eNnN9bJrw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hftTsRgqsZBIuOP8m7eNnN9bJrw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hftTsRgqsZBIuOP8m7eNnN9bJrw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;日本語を含んだ contact を登録しようとしたところ、&lt;br /&gt;正しく登録できなかったが、&lt;br /&gt;&lt;br /&gt;static/create_contract.py  に　&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;#!-*- coding:utf-8 -*-　&lt;/span&gt;を追加し&lt;br /&gt;static/create_contract_input.html に以下を追加することで&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&amp;lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;&lt;/span&gt;&lt;br /&gt;登録することができた。&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://museum-in-cloud.appspot.com/index.php?imglink=http://kwin.s288.xrea.com/img/sfa01.jpg&amp;amp;option=tipmage&amp;amp;Itemid=1"&gt;&lt;img src="http://lh5.ggpht.com/_GRrE56uLdI8/ST9SMFGRk7I/AAAAAAAABcg/9EHMaKh7LtI/s288/1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'MS PGothic';"&gt;&lt;div   style="  background-color: rgb(238, 238, 238); padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; font-family:Verdana;font-size:12px;"&gt;&lt;span class="title"  style=" font-weight: bold; font-size:18px;"&gt;Account Lookup Sample&lt;/span&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Enter your credentials:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;form method="post" action="http://localhost:8080/accountLookup"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Username:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="uid" value=""&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Password:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="password" name="pwd" value=""&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Enter an account name:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;input type="text" name="account" value="Blog-Editor"&gt;   &lt;input type="submit" value="Lookup"&gt;  &lt;/p&gt;&lt;/form&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Found 1 accounts:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Blog-Editor &lt;a href="javascript:showAccountInfo('0018000000MwqAqAAJ')"&gt;[View Info]&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div id="accountInfoPanel" style="background-color: rgb(228, 228, 228); border-width: initial; border-color: initial; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(153, 153, 153); border-right-color: rgb(153, 153, 153); border-bottom-color: rgb(153, 153, 153); border-left-color: rgb(153, 153, 153); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; "&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Account Info:&lt;/span&gt;&lt;p&gt;Name: &lt;span class="outputData" id="nameOutput"  style=" ;font-family:Courier;"&gt;Blog-Editor&lt;/span&gt; &lt;br /&gt;ID: &lt;span class="outputData" id="idOutput"  style=" ;font-family:Courier;"&gt;0018000000MwqAqAAJ&lt;/span&gt; &lt;br /&gt;Phone: &lt;span class="outputData" id="phoneOutput"  style=" ;font-family:Courier;"&gt;123456789&lt;/span&gt; &lt;br /&gt;Web Site: &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8p9ZUhx8I/AAAAAAAABcI/CL-WQHRteJM/s800/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 186px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8p9ZUhx8I/AAAAAAAABcI/CL-WQHRteJM/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277983423047256002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'ms pgothic';"&gt;&lt;div   style="  background-color: rgb(238, 238, 238); padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; font-family:Verdana;font-size:12px;"&gt;&lt;span class="title"  style=" font-weight: bold; font-size:18px;"&gt;Create Contact Sample&lt;/span&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Enter your credentials:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;form method="post" action="http://localhost:8080/createContact"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Username:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="uid"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Password:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="password" name="pwd"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Enter contact info:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table cellpadding="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;First Name:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="firstName"&gt;&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;Phone:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="phone"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Last Name:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="lastName"&gt;&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;Email:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="email"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" align="right" style="font-size: 12px; "&gt;&lt;input type="submit" value="Create"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;/form&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://2.bp.blogspot.com/_GRrE56uLdI8/ST8tNwbBL9I/AAAAAAAABcQ/dfoOgLteMCA/s800/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 257px;" src="http://2.bp.blogspot.com/_GRrE56uLdI8/ST8tNwbBL9I/AAAAAAAABcQ/dfoOgLteMCA/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277987002661285842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8ue9tfrsI/AAAAAAAABcY/EroXHvVI8YY/s800/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8ue9tfrsI/AAAAAAAABcY/EroXHvVI8YY/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277988397797846722" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-7558741505188276848?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/MUBXsFrDlIM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7558741505188276848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/7558741505188276848?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/MUBXsFrDlIM/forcecom-for-google-app-engine_10.html" title="Force.com for Google App Engine　日本語" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_GRrE56uLdI8/ST9SMFGRk7I/AAAAAAAABcg/9EHMaKh7LtI/s72-c/1.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/forcecom-for-google-app-engine_10.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4NQH04eyp7ImA9WxRaFUU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-3275323197788058949</id><published>2008-12-10T10:09:00.016+09:00</published><updated>2008-12-18T16:23:11.333+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-18T16:23:11.333+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Force.com" /><title>Force.com for Google App Engine</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WsI_oLMSwbAYYa78vmVhKOpiw1w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WsI_oLMSwbAYYa78vmVhKOpiw1w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WsI_oLMSwbAYYa78vmVhKOpiw1w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WsI_oLMSwbAYYa78vmVhKOpiw1w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a rel="lightbox" href="http://1.bp.blogspot.com/_GRrE56uLdI8/ST8cjQUWbhI/AAAAAAAABbY/reylIG-Gp7c/s800/1.jpg"&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 333px; height: 335px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/ST8cjQUWbhI/AAAAAAAABbY/reylIG-Gp7c/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277968680302833170" /&gt;&lt;/a&gt;&lt;br /&gt;Salesforce.com announces Force.com for App Engine&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: 'ms pgothic'; line-height: 22px; "&gt;&lt;h1 style="margin-top: 15px; margin-right: 5px; margin-bottom: 0px; margin-left: 3px; padding-top: 1px; padding-right: 0px; padding-bottom: 1px; padding-left: 2px; color: rgb(0, 0, 0); line-height: 1.1em; text-align: left; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;セールスフォース、「Google App Engine」と連携を可能に&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); font-size: 18px; line-height: 25px; "&gt;クラウド・コンピューティング分野での提携を拡大&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p class="time" style="line-height: 1.4em; text-align: left; letter-spacing: -1px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 10px !important; padding-left: 5px !important; color: rgb(102, 102, 102); font-size: small; "&gt;（2008年12月09日）&lt;/p&gt;&lt;p class="time" style="line-height: 1.4em; text-align: left; letter-spacing: -1px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 10px !important; padding-left: 5px !important; color: rgb(102, 102, 102); font-size: small; "&gt;&lt;a href="http://www.computerworld.jp/topics/cloud/129329.html"&gt;http://www.computerworld.jp/topics/cloud/129329.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://googleappengine.blogspot.com/2008/12/salesforcecom-announces-forcecom-for.html"&gt;http://googleappengine.blogspot.com/2008/12/salesforcecom-announces-forcecom-for.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.force.com/appengine"&gt;http://developer.force.com/appengine&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.  JOIN DFC&lt;/div&gt;&lt;div&gt;&lt;a href="http://wiki.apexdevnet.com/index.php/Getting_Started"&gt;http://wiki.apexdevnet.com/index.php/Getting_Started&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://1.bp.blogspot.com/_GRrE56uLdI8/ST8fmIi_kUI/AAAAAAAABbw/5Yfdfoza8pE/s800/1.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 272px;" src="http://1.bp.blogspot.com/_GRrE56uLdI8/ST8fmIi_kUI/AAAAAAAABbw/5Yfdfoza8pE/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277972028291256642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;2. Download and Install&lt;/div&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/force-app-engine/downloads/list"&gt;http://code.google.com/p/force-app-engine/downloads/list&lt;/a&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8geUtBpEI/AAAAAAAABb4/jPWVkn8LRqI/s800/1.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 168px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8geUtBpEI/AAAAAAAABb4/jPWVkn8LRqI/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277972993627235394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox"href="http://2.bp.blogspot.com/_GRrE56uLdI8/ST8hRkbS_KI/AAAAAAAABcA/GRNXPYe6dSE/s800/1.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://2.bp.blogspot.com/_GRrE56uLdI8/ST8hRkbS_KI/AAAAAAAABcA/GRNXPYe6dSE/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277973874021170338" /&gt;&lt;/a&gt;3. Start Application&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;c:\google&gt; dev_appserver.py force-app-engine&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'ms pgothic';"&gt;&lt;div   style="  background-color: rgb(238, 238, 238); padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; font-family:Verdana;font-size:12px;"&gt;&lt;span class="title"  style=" font-weight: bold; font-size:18px;"&gt;Force.com for Google AppEngine&lt;/span&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Overview&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="bodytext"  style=" ;font-size:12px;"&gt;This toolkit enables developers of &lt;a href="http://appengine.google.com/"&gt;Google AppEngine&lt;/a&gt; to make calls to the Force.com web services API. The form of the toolkit is a python module code-named "BeatBox". Within this module is the main PythonClient class that has methods that coorespond to each web service api call.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="bodyText"  style=" ;font-size:12px;"&gt;Below are links to the samples that come with this toolkit. For more information, visit the &lt;a href="http://developer.force.com/"&gt;Force.com Toolkit for Google AppEngine &lt;/a&gt;page at the Developer Force website.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Samples:&lt;/span&gt;&lt;/p&gt;&lt;ul style="font-size: 12px; "&gt;&lt;li&gt;&lt;a href="http://localhost:8080/static/simple_login.html"&gt;Simple Login&lt;/a&gt; - Illustrates a simple login to Force.com from a Google AppEngine page&lt;/li&gt;&lt;li&gt;&lt;a href="http://localhost:8080/accountLookup"&gt;Account Lookup&lt;/a&gt; - Illustrates querying data from Force.com&lt;/li&gt;&lt;li&gt;&lt;a href="http://localhost:8080/createContact"&gt;Create Contact&lt;/a&gt; - Illustrates inserting data into Force.com&lt;/li&gt;&lt;/ul&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Testing:&lt;/span&gt;&lt;ul style="font-size: 12px; "&gt;&lt;li&gt;&lt;a href="http://localhost:8080/unittest"&gt;Unit Test&lt;/a&gt; - Test the basics of the library, including query, create, update and delete from Force.com using the SOAP API&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'ms pgothic';"&gt;&lt;div   style="  background-color: rgb(238, 238, 238); padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; font-family:Verdana;font-size:12px;"&gt;&lt;span class="title"  style=" font-weight: bold; font-size:18px;"&gt;Simple Demo Sample&lt;/span&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Enter your Force.com credentials:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;form method="post" action="http://localhost:8080/login"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Username:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="text" name="uid"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-size: 12px; "&gt;Password:&lt;/td&gt;&lt;td style="font-size: 12px; "&gt;&lt;input type="password" name="pwd"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" align="right" style="font-size: 12px; "&gt;&lt;input type="submit" value="Login"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/form&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'MS PGothic';"&gt;&lt;div   style="  background-color: rgb(238, 238, 238); padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; font-family:Verdana;font-size:12px;"&gt;&lt;span class="title"  style=" font-weight: bold; font-size:18px;"&gt;Simple Login Sample&lt;/span&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Login Failed&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="bodyText"  style=" ;font-size:12px;"&gt;Your login failed. Please check your username and password as well as your IP range restrictions. Error details:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="fixedWidth"  style=" ;font-family:Courier;"&gt;Error Code: LOGIN_MUST_USE_SECURITY_TOKEN&lt;/span&gt; &lt;br /&gt;&lt;span class="fixedWidth"  style=" ;font-family:Courier;"&gt;Error Text: LOGIN_MUST_USE_SECURITY_TOKEN: ユーザ名、パスワード、セキュリティトークンが無効か、ユーザがロックされています。新しい場所からログインしていますか? 貴社の信頼済みネットワーク外からデスクトップクライアントまたは API 経由で Salesforce へアクセスする場合、パスワードにセキュリティトークンを追加してログインする必要があります。新しいセキュリティトークンは、Salesforce (http://www.salesforce.com/jp/) にログインし、[設定] | [私の個人情報] | [セキュリティトークンのリセット] をクリックして入手します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox" href="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8ehZ5RwJI/AAAAAAAABbo/TYOWNmyy3ac/s800/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 174px;" src="http://4.bp.blogspot.com/_GRrE56uLdI8/ST8ehZ5RwJI/AAAAAAAABbo/TYOWNmyy3ac/s400/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277970847537152146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'MS PGothic';"&gt;&lt;div   style="  background-color: rgb(238, 238, 238); padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; font-family:Verdana;font-size:12px;"&gt;&lt;span class="title"  style=" font-weight: bold; font-size:18px;"&gt;Simple Login Sample&lt;/span&gt;&lt;p&gt;&lt;span class="heading"  style=" font-weight: bold; font-size:12px;"&gt;Login Succeeded&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="bodyText"  style=" ;font-size:12px;"&gt;Your login was successful. Below are your session details:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="fixedWidth"  style=" ;font-family:Courier;"&gt;UserId: 005800xxxxxxxx&lt;/span&gt;&lt;br /&gt;&lt;span class="fixedWidth"  style=" ;font-family:Courier;"&gt;Server URL: https://na6-api.salesforce.com/services/Soap/u/14.0/511700D800000xxxx&lt;/span&gt;&lt;br /&gt;&lt;span class="fixedWidth"  style=" ;font-family:Courier;"&gt;Session Id: 511700D80000000M5IC!ARoAQAnStyOYcjTGD70Ct3cWG2UFx3NdKvA&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-3275323197788058949?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/hJYKk8SMoLs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3275323197788058949?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/3275323197788058949?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/hJYKk8SMoLs/forcecom-for-google-app-engine.html" title="Force.com for Google App Engine" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_GRrE56uLdI8/ST8cjQUWbhI/AAAAAAAABbY/reylIG-Gp7c/s72-c/1.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/forcecom-for-google-app-engine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYCR3c5eSp7ImA9WxJQFUU.&quot;"><id>tag:blogger.com,1999:blog-1797575200291390327.post-6659815093023726995</id><published>2008-12-08T17:20:00.009+09:00</published><updated>2009-05-29T15:56:06.921+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T15:56:06.921+09:00</app:edited><title>image drag and drop and tipmage</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zrXiODenWIVjT0FYJAapDt-gXRo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zrXiODenWIVjT0FYJAapDt-gXRo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zrXiODenWIVjT0FYJAapDt-gXRo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zrXiODenWIVjT0FYJAapDt-gXRo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GRrE56uLdI8/STzfGTFG5wI/AAAAAAAABbQ/8IdF_UpkT7Q/s1600-h/1.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 97px;" src="http://2.bp.blogspot.com/_GRrE56uLdI8/STzfGTFG5wI/AAAAAAAABbQ/8IdF_UpkT7Q/s800/1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5277338162665285378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://digitalhymn.com/argilla/tipmage/"&gt;http://digitalhymn.com/argilla/tipmage/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://allabout.co.jp/internet/javascript/closeup/CU20080115A/index.htm#1"&gt;Query UI Draggablesで簡単ドラッグドロップ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;src="/javascript/jquery/jquery-1.2.6.min.js"&lt;br /&gt;src="/javascript/Tipmage-1.0.js"&lt;br /&gt;&lt;br /&gt;src="/javascript/jquery/jquery.dimensions.js"&lt;br /&gt;src="/javascript/jquery/ui.mouse.js"&lt;br /&gt;src="/javascript/jquery/ui.draggable.js"&lt;br /&gt;src="/javascript/jquery/ui.draggable.ext.js"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.museum-in-cloud.com/index.php?id=1001&amp;amp;option=tipmage&amp;amp;Itemid=1000"&gt;http://www.museum-in-cloud.com/index.php?id=1001&amp;amp;option=tipmage&amp;amp;Itemid=1000&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; white-space: normal; "&gt;&lt;a href="http://urlencode.net/result.cgi"&gt;http://urlencode.net/result.cgi&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1797575200291390327-6659815093023726995?l=webdba.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/LNwwZ/~4/DaCdBQ7_qIk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/6659815093023726995?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1797575200291390327/posts/default/6659815093023726995?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/LNwwZ/~3/DaCdBQ7_qIk/image-drag-and-drop-and-tipmage.html" title="image drag and drop and tipmage" /><author><name>kwin786</name><uri>http://www.blogger.com/profile/11636870499038520354</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_GRrE56uLdI8/STzfGTFG5wI/AAAAAAAABbQ/8IdF_UpkT7Q/s72-c/1.jpg" height="72" width="72" /><feedburner:origLink>http://webdba.blogspot.com/2008/12/image-drag-and-drop-and-tipmage.html</feedburner:origLink></entry></feed>

