2011-02-15 47 views
9

Hy guys, kullanıcılara Google Analytics'e erişim sağlayacak bir sistem geliştiriyoruz. Kullanıcının, Google giriş bilgilerini sitemize girmesine gerek kalmayacak şekilde uygulamaya çalışıyorum. Bu yüzden, giriş bilgilerini kullanarak işe yaramaya çalışıyorum.Google Analytics verilerini OAuth kullanarak nasıl edinebilirim?

Kullanıcının e-postasını ve şifresini kullanarak analitik olan bir çözüm var. Kullanıcının e-posta ve şifresini gerektirmeyecek bir çözüm arıyorum ancak hiçbir şey bulamıyorum.

Nasıl Yapılır? herhangi bir tavsiye veya bağlantı takdir edilecektir.

sayesinde

OAuth ile çalışma
+0

Analytics ayrıca belirli bir kullanıcıyla paylaşılabilir (e-posta temelinde) – Adeel

cevap

11

Tamam beyler, birkaç gün süren mücadeleden sonra sonunda anladım. İnternette hiç bir dokümantasyon yoktur ve daha önce yapmış olan kişiler başarılarını bir sebepten paylaşmak istememişlerdir. Bana yardımcı olan bu discussion'u buldum.

ihtiyacınız OAuthConsumer adında örnek bir proje olduğunu size DotNetOpenAuth yılında http://code.google.com/p/google-gdata/

yüzden

using DotNetOpenAuth.ApplicationBlock; 
using DotNetOpenAuth.OAuth; 

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

den http://www.dotnetopenauth.net/ ve gdata den DotNetOpenAuth gerekir çalışmasını sağlamak için.Analytics için yetki requiest bunu değiştirin :

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

Bu, Token ve Token sırrı alacak. Böyle kullanabilirsiniz:

 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); 

Bu hizmet here veya

here Ve geçen şey gibi kullanabilirsiniz, bunu bir gerekecektir localhost üzerinde denemek ve test etmek için kullanılabilir olması OLMAYACAKTIR Tüketici anahtarı ve sırrı

+0

Tüm bu kütüphaneleri indirdim ve service.RequestFactory = requestFactory; gibi bir üye yok. Ayrıca, Analytics sınıfını ad alan adında nasıl kullanacağınızı bilerek Google.Apis.Analytics.v3 –

0

Temelleri Buradasınız: OAuth ile bir kullanıcının kimliğini doğrulamak sonra http://code.google.com/apis/accounts/docs/OAuth.html

, bir tanesinde gibi çalışır istek belirteci sahip olacaktır: http://code.google.com/apis/accounts/docs/OpenID.html#working

OAuth ile kimlik denetimi Google’ın giriş API'sinden geri dönersiniz. Oradan, kullanıcı adı/şifre ile aynı olmalıdır.

+0

Bunun için herhangi bir çalışma çözümü var mı? – Burjua

1

Google Analytics Veri İhracat API erişmek için kullanılabilir Google Veri doğrulaması için bir .NET/C# class var (API Google Veri standardının parçası olduğu için Google Analytics belirli ayarlamalar yapmak gerekebilir rağmen.) *

Kimlik doğrulaması, en iyi güvenlik uyarıları olmadan kimlik doğrulama yapmanıza izin verdiği için (Google Registered Application), en iyi şekilde yönetilir (ve bu nedenle, güvenlik gecikmeleri).

Desteklenen kimlik doğrulamanın üç şekli vardır; 'güvenli'/parolasız olanlar OAuth ve AuthSub (OAuth'un Google'ın müseccel sürümü); hardcoded kullanıcı adı ve şifre sürümü Google tarafından 'ClientLogin' olarak adlandırılır ve çoklu kullanıcı uygulamaları için güvenli veya ideal kabul edilmez.

*

Düzen (Soruyu etiketlenmiş beri): .NET kütüphanesi ile AuthSub'ı veya OAuth kullanarak daha fazla ayrıntı:

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

nasıl kullanılacağına dair

Kod Örnekleri OAuth kimlik doğrulaması için kütüphaneler: http://code.google.com/apis/gdata/docs/auth/oauth.html#2LeggedOAuth (.NET sekmesini tıklatın).

+1

http://code.google.com/apis/gdata/client-cs.html bağlantısına yapılan bağlantı, ClientLogin'i e-posta ve şifreyi kullanarak kabul edilemez bir şekilde gösterilen makul bir inceleme sunmaz. Google dokümantasyonu hiç yardımcı olmaz. Tüm bu büyük hantal talepleri elle nasıl oluşturacağımı ve sonra yanıtları nasıl dağıtacağımı bilmiyorum. Bu görev, uzun yıllara dayanan tecrübesi olmayan biri için umutsuzum gibi görünüyor. – Burjua

+0

@Burjua 2 düzenlemelerimi görün. Yardım etmeliler. Neler yaşadığını biliyorum - PHP için bunu yapmak zorundaydım, ve onun çalışması kolay değil. Ama rehberler yardımcı oluyor. – Yahel

-1

almak için Google here ile kayıt olmanız gereken alan adı OAuth ile uğraşmanız gerekmiyor.

Google Analytics api kimlik bilgilerini geçirmenizi sağlar. Sadece bu veri feed örneğinden başlayın.

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); 

, veri sorguları için bir fikir edinmesini Bununla oynamak ve daha sonra

http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html 
Yukarıdaki örnekte içine değerlerini kopyalamak için buraya

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

istemci kitaplığı indirin

+0

Bu, yalnızca geliştirme amaçlı olarak kullanılabilir. Bunu, üretimde güvenlik riskleri dışında dağıtırsanız, günde 200 istekte sınırlandırılırsınız. – Eduardo