Python で appengine を使用して C2DM アプリを作成しています。「メッセージの送信」でエラー 401 が表示される理由を数時間考えた後、認証トークンが間違っていることがわかりました。いくつかの例を調べたところ、ほとんどの人がメール アドレスとパスワードをリクエスト パラメーターの例として渡すことでトークンを取得していることに気付きました。
username = self.request.get('username')
password = self.request.get('password')
values = {'accountType' : 'HOSTED',
'Email' : username,
'Passwd' : password,
'source' : 'shiprack-brain-1',
'service' : 'ac2dm'}
data = urllib.urlencode(values)
request = urllib2.Request('https://www.google.com/accounts/
ClientLogin', data)
response = urllib2.urlopen(request)
Gmail のパスワードを渡さずに、C2DM メッセージングに必要な認証トークンを取得する方法はありますか?