खोज…


वाक्य - विन्यास

  • Https://accounts.google.com/o/oauth2/auth?client_id= {clientid} & redirect_uri = urn: ietf: wg: oauth: 2.0: oob & गुंजाइश = {स्कोप्स & response_type = कोड प्राप्त करें
  • POST https://accounts.google.com/o/oauth2/token कोड = {उपरोक्त कॉल से कोड} & client_id = {ClientId} & client_secret = {ClientSecret} और redirect_uri = urn: igf: wa: 2.0: oob & अनुदान_प्रकार = प्राधिकरण_कोड
  • POST https://accounts.google.com/o/oauth2/token client_id = {ClientId} & client_secret = {ClientSecret} और ताज़ा_token = {उपरोक्त कॉल से & quot; &_type = ताज़ा_token

पैरामीटर

पैरामीटर विवरण
ग्राहक ID Google डेवलपर कंसोल से आपके प्रोजेक्ट या एप्लिकेशन को पहचानता है
गुप्त Google डेवलपर कंसोल से आपके प्रोजेक्ट या एप्लिकेशन को पहचानता है
redirect_uri Google डेवलपर स्थान से जहां प्रमाणीकरण लौटाया जाना चाहिए। मूल अनुप्रयोगों के मामले में urn:ietf:wg:oauth:2.0:oob का इस्तेमाल urn:ietf:wg:oauth:2.0:oob को दर्शाने के लिए किया जा सकता है

टिप्पणियों

किसी भी Google API का उपयोग करने के लिए आपको एक डेवलपर के रूप में खुद को पहचानने और अपनी परियोजना की पहचान करने की आवश्यकता है। हम Google डेवलपर्स कंसोल पर एक नई परियोजना बनाकर ऐसा करते हैं।

जब आप अपना प्रोजेक्ट बनाते हैं, यदि आप Google Analytics API एक्सेस करना चाहते हैं, तो आपको उन API को सक्षम करना होगा जिन्हें आप एक्सेस करना चाहते हैं।

  • रिपोर्टिंग एपीआई : Google Analytics रिपोर्टिंग API v4 तक पहुंच।
  • Analytics API : अन्य सभी चीज़ों तक पहुंच।

अब आपको तय करना होगा कि आप डेटा तक कैसे पहुंचना चाहते हैं।

Google डेटा के साथ डेटा सार्वजनिक और निजी दो प्रकार के होते हैं।

  • सार्वजनिक डेटा उपयोगकर्ता के स्वामित्व में नहीं है। मेटाडेटा एपीआई एक सार्वजनिक एपीआई है जिसे आपको उस डेटा तक पहुंचने के लिए लॉग इन करने की आवश्यकता नहीं है।
  • रिपोर्टिंग एपीआई में एक उपयोगकर्ता Google Analytics डेटा होता है, यह निजी रूप से आप उस पर नहीं देख सकते जब तक कि उपयोगकर्ता ने आपको इसे एक्सेस करने की अनुमति नहीं दी हो।

यदि आप केवल सार्वजनिक डेटा एक्सेस कर रहे हैं, तो आपको केवल एक एपीआई एपीआई की आवश्यकता है और आप प्रश्न में एपीआई का उपयोग कर पाएंगे। यदि आप निजी उपयोगकर्ता डेटा एक्सेस करने जा रहे हैं तो आपको Oauth2 क्रेडेंशियल या सेवा खाता क्रेडेंशियल्स बनाने की आवश्यकता होगी।

प्राधिकरण Oauth2

निजी उपयोगकर्ता डेटा तक पहुंचने के लिए हमारे पास इसे एक्सेस करने के लिए डेटा के स्वामी की अनुमति होनी चाहिए। Oauth2 हमें उपयोगकर्ता से उस एक्सेस का अनुरोध करने की अनुमति देता है।

आपने शायद पहले Oauth2 से पहले देखा है।

यहाँ छवि विवरण दर्ज करें

एप्लिकेशन "Google Analytics Windows" उपयोगकर्ताओं को "Google Analytics डेटा" देखने के लिए पहुंच का अनुरोध कर रहा है

  1. Google Analytics विंडोज़ उस परियोजना का नाम है जिसे Google डेवलपर कंसोल पर बनाया गया था।
  2. Google Analytics डेटा उन अनुमतियों का दायरा है जो हमने माँगे थे।

स्कोप हमें उपयोगकर्ता को यह बताने की आवश्यकता है कि हम क्या करना चाहते हैं Google विश्लेषिकी एपीआई में दो स्कोप हैं जिनका आप उपयोग कर सकते हैं।

  1. https://www.googleapis.com/auth/analytics.readonly
  2. https://www.googleapis.com/auth/analytics

केवल उन स्कोपों का अनुरोध करना सबसे अच्छा है जिनकी आपको आवश्यकता है। यदि आप केवल एक उपयोगकर्ता डेटा पढ़ रहे हैं, तो आपको केवल रीडोनॉली स्कोप का अनुरोध करने की आवश्यकता है।

प्राधिकरण सेवा खाते

सेवा खाते इस मायने में भिन्न हैं कि वे पूर्व-अनुमोदित हैं। यदि आप सेवा खाता क्रेडेंशियल्स बनाते हैं, तो डेवलपर सेवा खाता ईमेल ले सकता है और इसे अपने Google Analytics खाते में एक उपयोगकर्ता के रूप में जोड़ सकता है । खाते के स्तर पर यह सेवा खाते को डेटा तक पहुंच प्रदान करेगा। आपको प्रमाणीकरण विंडो को पॉप अप करने और एक्सेस का अनुरोध करने की आवश्यकता नहीं है। जब तक यह Google Analytics खाते का उपयोगकर्ता होगा, तब तक सेवा खाते में डेटा तक पहुंच होगी।

निष्कर्ष

Google Analytics API द्वारा उजागर किए गए अधिकांश डेटा तक पहुंचने के लिए प्रमाणीकरण की आवश्यकता होती है।

आप किसी भी Google API को मई 2015 तक एक्सेस करने के लिए क्लाइंट लॉगिन / लॉगिन और पासवर्ड का उपयोग नहीं कर सकते। आपको ओपन प्रमाणीकरण का उपयोग करना होगा।

**

Oauth2 C #

उदाहरण Google APIs Dotnet क्लाइंट लाइब्रेरी का उपयोग करता है।

PM> इंस्टॉल-पैकेज Google.Apis.AnalyticsReporting.v4

    /// <summary>
    /// This method requests Authentcation from a user using Oauth2.  
    /// Credentials are stored in System.Environment.SpecialFolder.Personal
    /// Documentation https://developers.google.com/accounts/docs/OAuth2
    /// </summary>
    /// <param name="clientSecretJson">Path to the client secret json file from Google Developers console.</param>
    /// <param name="userName">Identifying string for the user who is being authentcated.</param>
    /// <returns>DriveService used to make requests against the Drive API</returns>
    public static AnalyticsReportingService AuthenticateOauth(string clientSecretJson, string userName)
    {
        try
        {
            if (string.IsNullOrEmpty(userName))
                throw new Exception("userName is required.");
            if (string.IsNullOrEmpty(clientSecretJson))
                throw new Exception("clientSecretJson is required.");
            if (!File.Exists(clientSecretJson))
                throw new Exception("clientSecretJson file does not exist.");
            
            // These are the scopes of permissions you need.
            string[] scopes = new string[] { AnalyticsReportingService.Scope.AnalyticsReadonly };   // View your Google Analytics Data

            UserCredential credential;
            using (var stream = new FileStream(clientSecretJson, FileMode.Open, FileAccess.Read))
            {
                string credPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
                credPath = Path.Combine(credPath, ".credentials/", System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);

                // Requesting Authentication or loading previously stored authentication for userName
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets,
                                                                         scopes,
                                                                         userName,
                                                                         CancellationToken.None,
                                                                         new FileDataStore(credPath, true)).Result;
            }

            // Create Drive API service.
            return new AnalyticsReportingService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = string.Format("{0} Authentication", System.Reflection.Assembly.GetExecutingAssembly().GetName().Name),
            });
        }
        catch (Exception ex)
        {
            Console.WriteLine("Create Oauth2 DriveService failed" + ex.Message);
            throw new Exception("CreateOauth2DriveFailed", ex);
        }
    }

सेवा खाता प्रमाणीकरण Vb.net

नमूना इंस्टॉल-पैकेज Google.Apis.AnalyticsReporting.v4 का उपयोग करता है

 Public Shared Function getServiceInitializer() As BaseClientService
    Dim serviceAccountCredentialFilePath = "Path to Json service account key file"                    REM from Google Developers console
    Dim myKeyEMail = "[email protected]"   REM from Google Developers console
    Dim scope = Google.Apis.AnalyticsReporting.v4.AnalyticsReportingService.Scope.AnalyticsReadonly


    Try

        Dim credential
        Using stream As New FileStream(serviceAccountCredentialFilePath, FileMode.Open, FileAccess.Read)

            credential = GoogleCredential.FromStream(stream).CreateScoped(scope)

        End Using

        Dim Initializer As New BaseClientService.Initializer()
        Initializer.HttpClientInitializer = credential
        Initializer.ApplicationName = "SRJCGMail"

        Dim service As New AnalyticsReportingService(Initializer)
        Return service

    Catch ex As Exception
        Console.WriteLine(ex.Message)
        Return Nothing
    End Try

End Function


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow