9

こんにちは、私たちはユーザーにGoogleAnalyticsへのアクセスを提供するシステムを開発しています。ユーザーが私たちのサイトでGoogleのログインクレデンシャルを入力する必要がないように実装しようとしているので、ログインを使用して機能させるようにしています。

ユーザーの電子メールとパスワードを使用して分析を取得するソリューションがあります。ユーザーのメールアドレスとパスワードを必要としないが、何も見つからないソリューションを探しています。

どのようにそれを行うことができますか?アドバイスやリンクをいただければ幸いです。

ありがとう

4

4 に答える 4

11

さて、みんな、数日間の苦労の末、私はついにこれを理解しました。インターネット上にドキュメントはなく、以前にそれを行ったことがある人々は、何らかの理由で彼らの成功を共有したくありませんでした。私は私を助けたこの議論を見つけました。

それを機能させるには、http://www.dotnetopenauth.net/およびhttp://code.google.com/p/google-gdata/DotNetOpenAuthから必要になります。gdata

それで

using DotNetOpenAuth.ApplicationBlock;
using DotNetOpenAuth.OAuth;

using Google.GData.Client;
using Google.GData.Analytics;

DotNetOpenAuthには、必要なOAuthConsumerという名前のサンプルプロジェクトがあります。Analyticsの承認を要求するように変更します。

GoogleConsumer.RequestAuthorization(google, GoogleConsumer.Applications.Analytics);

これにより、トークンとトークンシークレットが取得されます。次のように使用できます。

        GOAuthRequestFactory requestFactory = new GOAuthRequestFactory("cp", TokenManager.ConsumerKey); //ConsumerKey actually is the name of web application
        requestFactory.ConsumerKey = TokenManager.ConsumerKey;
        requestFactory.ConsumerSecret = TokenManager.ConsumerSecret;
        requestFactory.Token = AccessToken;
        requestFactory.TokenSecret = TokenManager.GetTokenSecret(AccessToken);
        requestFactory.UseSSL = true;
        AnalyticsService service = new AnalyticsService(requestFactory.ApplicationName); // acually the same as ConsumerKey
        service.RequestFactory = requestFactory;

        const string dataFeedUrl = "https://www.google.com/analytics/feeds/data";

        DataQuery query1 = new DataQuery(dataFeedUrl);

ここここのように使えるこのサービス

そして最後に、試してみることができないので、消費者キーとシークレットを取得するには、ここlocalhostでGoogleに登録する必要があるドメインが必要になります

于 2011-03-01T10:15:18.070 に答える
1

GoogleAnalyticsデータエクスポートAPIにアクセスするために使用できるGoogleData認証用の.NET/C#クラスがあります(APIはGoogle Data標準の一部であるため、Google Analytics固有の調整が必要になる場合があります)。*

認証は、 Google登録アプリケーションを作成することによって最適に管理されます。これにより、セキュリティ警告なしで認証を行うことができます(さらに言えば、セキュリティが失効します)。

サポートされている認証には3つの形式があります。「安全な」/パスワードのないものは、OAuthAuthSub(Google独自のバージョンのOAuth)です。ハードコードされたユーザー名とパスワードのバージョンは、Googleでは「ClientLogin」と呼ばれ、マルチユーザーアプリケーションにとって安全または理想的とは見なされていません。

*(質問にタグを付けたので

編集:.NETライブラリでAuthSubまたはOAuthを使用する方法の詳細:

AuthSubSupport:http ://code.google.com/p/google-gdata/wiki/AuthSubSupport

OAuth認証にライブラリを使用する方法のコードサンプル:http ://code.google.com/apis/gdata/docs/auth/oauth.html#2LeggedOAuth ([.NET]タブをクリックします)。

于 2011-02-15T16:59:14.810 に答える
0

OAuthの操作の基本はここにあります:http ://code.google.com/apis/accounts/docs/OpenID.html#working

OAuthによる認証:http ://code.google.com/apis/accounts/docs/OAuth.html

OAuthでユーザーを認証すると、GoogleのログインAPIから取得したものと同じように機能するリクエストトークンが得られます。そこから、ユーザー名/パスワードと同じになります。

于 2011-02-15T15:46:35.317 に答える
-1

OAuthをいじる必要はないと思います。

google analytics apiを使用すると、クレデンシャルを渡すことができます。このデータフィードの例から始めてください。

http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/samples/Analytics_DataFeed_Sample/dataFeed.cs

// Configure GA API and do client login Authorization.
AnalyticsService asv = new AnalyticsService("gaExportAPI_acctSample_v2.0");
asv.setUserCredentials(clientUser, clientPass);

ここからクライアントライブラリをダウンロードします

http://code.google.com/apis/analytics/docs/gdata/gdataLibraries.html

データクエリの感触をつかむには、これを試してから、値を上記の例にコピーします

http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html
于 2011-10-20T17:19:01.623 に答える