2011-01-14 4 views
2

私はGoogle Books APIで何かを開発していますが、これはGoogleの多くのAPIで一般化できると思います。GmailアドレスからGoogleアカウントのUSERIDトークンを認証情報なしでプログラムで特定するにはどうすればよいですか?

友だちを追加してGoogleブックスコレクションを見ることができるソーシャルな側面を持っているアプリがあるとします。 APIドキュメントからは、自分のユーザーIDを知っていれば誰のコレクションも取得できますが、プログラムで取得する方法はありません。ユーザーが知ることができる唯一のものは、友人のGmailアドレス(または、これらの目的のために同じものであるGoogleアカウントのログイン)です。私が何とかそれを得ることができる唯一の方法は、GoogleブックのWebインターフェイス上のURLを使用することです。そのようにすることは、曖昧な拷問の形態です。

これはどのGoogleサービスでも可能ですか?

具体的には、gmailアドレス:[email protected]があるとしたら、そのユーザーのユーザーIDを取得するためにGoogleサービスにクエリを実行できますか?ユーザーIDは、基本的には本当に大きな数(約20桁)ここで

+0

このユーザーIDはどこにありますか? [this](http://code.google.com/apis/gdata/docs/auth/overview.html)を見たことがありますか? – marcog

+0

@marcog Gmailのアドレスがあると思います。ログインしている場合は、http://books.google.com/にアクセスしてください。左側に、[マイライブラリ]というリンクが表示されます。クリックして。さて、あなたのアドレスバーを見てください。 http://books.google.ca/books?uid=...&source=gbs_lp_bookshelf_listここで...はあなたのUSER_IDの形式である必要があります。その番号を取得してAPI呼び出しで使用できます。あなたはその番号を他の誰かに与えることができ、あなたの本棚を見るためにそれをAPI呼び出しで使うことができます。友人の本棚にアクセスできるようにしたいが、プログラムでは – ageektrapped

答えて

0

あるだとsimilar questionニック・ジョンソンからolution/workaroundとして:

現在の回避策は、 ユーザーオブジェクトを作成 にそれを格納することですデータストアを作成し、再度取得します。 電子メールが有効なGoogle アカウントに対応する場合、 返されたエンティティのUserオブジェクトには、user_id フィールドが設定されます。

+1

クリエイティブ。しかし、それは私にとってはうまくいかないでしょう。私は、PythonやJavaコードを実行できるプラットフォームでは開発していません。私のアプリケーションはAppEngine上で動作していません。私が試した別の可能性は、useridまたはgmailアドレスのどちらかに依存することができるサービスを尋ねることでした。 Gmailのアドレスを渡して、私がユーザーIDを得ることができるかどうかを確認します。しかし、それらはすべて一貫してあなたが与えたものを使用します。 – ageektrapped

+0

この簡単な回避策を実装した独自のサービスを作成し、作業中のプラットフォームから呼び出すことができます。 –

+0

あなたの先へ。 :) – ageektrapped

関連する問題