私はいくつかのユーザーがお金や努力に貢献する拡張機能を持っています。これらのユーザーを電子メールアドレスで識別できるようにしたいので、「ありがとうございました!」と表示できます。次回彼らは拡張をロードします。エクステンションはGoogle Chromeからユーザーの電子メールアドレスを取得できますか?
Google Chromeからユーザーの電子メールアドレスを取得する方法はありますか?
私はいくつかのユーザーがお金や努力に貢献する拡張機能を持っています。これらのユーザーを電子メールアドレスで識別できるようにしたいので、「ありがとうございました!」と表示できます。次回彼らは拡張をロードします。エクステンションはGoogle Chromeからユーザーの電子メールアドレスを取得できますか?
Google Chromeからユーザーの電子メールアドレスを取得する方法はありますか?
私は何かsimiliar自分自身をやろうとしています。私はユーザーのためにいくつかのクラウドデータを保存できるようにGoogleアカウントに基づいたIDを取得しようとしています。同じ方法でメールアドレスを取得できると思いますが、許可を承認する必要があります。成功すれば、コードを投稿します。今すぐ取得しようとしています: http://smus.com/oauth2-chrome-extensions/
私自身のgoogle apiキーとその作業。
これまでに多くの成功を収めていません。まともなドキュメントを持っている唯一の方法を実装する最後の2時間を費やし、それは機能が償却されていることを私に伝えています。結局のところ、このoauth2のやり方を試してみる必要があります。
ええ、私はOAuthが基本的に解決策であることを期待していましたが、 Google Chrome拡張機能のウェブサイトの「アプリケーション用OAuth」のドキュメントでは、Google Chromeの認証を受けているかどうか、または各ユーザーの電子メールアドレスプロバイダを認証する必要があるかどうかは不明でした。 – scraimer
@scraimerユーザーは別に認証する必要があるかどうかは分かりませんでしたか? – user417669
大丈夫、彼女が解決しました。
http://smus.com/oauth2-chrome-extensions/
しかし、すべてではない、それがそこに説明されている:このウェブサイトは基本的にそれを説明しています。したがって:
まず、APIクライアントIDとクライアントシークレットが必要です。これにより、ユーザーが詳細を使用する権限を与えることができます。次の手順では、Chromeの拡張機能で動作します方法でそれを設定します。クライアントIDを作成します
:
第二に、あなたは利用できるここにあるのOAuth2 JavaScriptライブラリを、必要があります。
であなたのhtmlファイル、次のものを追加:あなたのmanifest.jsonをで
<script type="text/javascript" src="oauth2/oauth2.js"></script>
<script type="text/javascript">
var googleAuth = new OAuth2('google', {
client_id: ' $(YOUR CLIENT ID HERE) ',
client_secret: ' $(YOUR CLIENT SECRET HERE) ',
api_scope: 'https://www.googleapis.com/auth/userinfo.email'
});
googleAuth.authorize(function() {
// We should now have googleAuth.getAccessToken() returning a valid token value for us
// Create an XMLHttpRequest to get the email address
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
var parseResult = JSON.parse(xhr.responseText);
// The email address is located naw:
var email = parseResult["email"];
}
}
}
// Open it up as GET, POST didn't work for me for the userinfo
xhr.open("GET","https://www.googleapis.com/oauth2/v1/userinfo",true);
// Set the content & autherization
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', "OAuth " + googleAuth.getAccessToken());
xhr.send(null);
// Debugging stuff so we can see everything in the xhr. Do not leave this in production code
console.log(xhr);
});</script>
をあなたが必要とする:
"パーミッションを":[ "https://accounts.google.com/o/ oauth2/token "、" https://www.googleapis。COM /のOAuth2/V1/userinfoを "]
また、あなたが必要とするマニフェストファイルで:。
"content_scripts": [ {
"matches": ["http://www.google.com/robots.txt*"],
"js": ["oauth2/oauth2_inject.js"],
"run_at": "document_start" }
かなりそれの世話をする必要があります
拡張機能をインストールした後にユーザーがアクセス許可を受け入れる必要があるのですか?または、拡張機能をインストールすることによってデフォルトで許可されますか? – user417669
なぜちょうどそれのためにそれらを聞かないWouldnを? –
私は余分なユーザーのやりとりを避けようとしていましたが、ユーザーの約0.1%しか実際に寄与していないと推測しています。ユーザーの100%を入力することを躊躇しています。あなたが正しいと思うのは私の「プランB」です – scraimer