2011-03-04 49 views
0

我在看 http://code.google.com/intl/sv-SE/apis/gdata/docs/auth/authsub.htmlhttp://code.google.com/intl/sv-SE/appengine/articles/java/retrieving_gdata_feeds.html的AuthSub nextURL在GAE

我的代碼看起來像這樣生成URL

String nextUrl = "http://myapp.appspot.com/retrieveToken/"; 
String scope = "http://www.google.com/calendar/feeds/"; 
boolean secure = false; // set secure=true to request secure AuthSub tokens 
boolean session = true; 
String authSubUrl = AuthSubUtil.getRequestUrl(nextUrl, scope, secure, session); 

生成的URL看起來像這樣

https://www.google.com/accounts/AuthSubRequest?next=http%3A%2F%2Fmyapp.appspot.com%2FretrieveToken%2F&scope=http%3A%2F%2Fwww.google.com%2Fcalendar%2Ffeeds%2F&secure=0&session=1 

看起來沿着好.. 然而,當我按照網址,有人告訴我的東西

"http://appspot.com" is not registered. 

(我在瑞典得到它:)

這裏有什麼問題?

回答

1

這很奇怪,因爲你選擇secure = false,所以你不應該註冊應用程序(你的網址中有secure=0)。但我覺得這是關係到*.appspot.com域,因爲如果你改變了nextUrl到別的,比方說"http://myapp.randomDomainHjYHBB4F.com/retrieveToken/"的問題,新的網址是:

https://www.google.com/accounts/AuthSubRequest?next=http%3A%2F%2Fmyapp.randomDomainHjYHBB4F.com%2FretrieveToken%2F&scope=http%3A%2F%2Fwww.google.com%2Fcalendar%2Ffeeds%2F&secure=0&session=1 

...和它的作品!這不是很好奇嗎?

所以我不能告訴你有什麼問題,但有一個簡單的解決方法:你可以register your applicationswitch to secure mode