सी से गूगल एनालिटिक्स रिपोर्टिंग API कॉलिंग # विशेष रूप से नहीं है हो सकता है मुश्किल है, हालांकि सभी आवश्यक कदमों को Google विश्लेषिकी API दस्तावेज़ में बहुत स्पष्ट रूप से उल्लिखित नहीं लग रहा है। मैं उन्हें यहां सब कुछ सूचीबद्ध करने की कोशिश करूंगा। जबकि वाईएमएमवी, मुझे विश्वास है कि इन चरणों को 7/20/2016 के रूप में सही होना चाहिए।
आप एक नया सी # प्रोजेक्ट बनाकर शुरू कर सकते हैं। हम GoogleAnalyticsApiConsole
नामक परीक्षण के लिए एक कंसोल एप्लिकेशन बनायेंगे। एक बार प्रोजेक्ट बनने के बाद, हम NuGet पैकेज मैनेजर कंसोल (विजुअल स्टूडियो 2015 में टूल्स मेनू के नीचे पाए गए) का उपयोग करके Google Analytics Reporting API V4 Client Library for .NET का संदर्भ जोड़ देंगे। PM>
प्रॉम्प्ट पर कंसोल ऊपर फायर और जारी निम्न आदेश:
PM> Install-Package Google.Apis.AnalyticsReporting.v4
कि पैकेज क्लाइंट अन्य निर्भरता के एक नंबर के साथ-साथ Google Analytics रिपोर्टिंग वेब सेवाओं कॉल करने के लिए की जरूरत पुस्तकालयों डाउनलोड करेगा स्थापित कर रहा है।
वेब सेवाओं को कॉल करने के लिए, आपको अपने आवेदन के लिए OAuth 2.0 पहुंच सेट अप करने की आवश्यकता होगी। https://console.cloud.google.com/: Google क्लाउड कंसोल को
लॉगिन: इस स्थापना can be found here के लिए दस्तावेज़, लेकिन मैं नीचे संक्षेप में प्रस्तुत करेंगे। उस खाते से लॉगिन करना सुनिश्चित करें जिसके पास Google Analytics खातों तक पहुंच है जो आप रिपोर्टिंग API से पूछताछ करने का प्रयास कर रहे हैं।
एपीआई प्रबंधक चयन Google मेघ प्लेटफ़ॉर्म मेनू पर क्लिक करके।
बाएं हाथ की ओर पर, साख क्लिक करें और फिर Google Analytics API Console
नामक एक नई परियोजना बनाने। नई परियोजना बनाने के लिए इसे कुछ समय दें।
के बाद परियोजना बनाई गई है, साख फिर से क्लिक करता है, तो यह पहले से ही चयनित नहीं है, और उसके बाद सही पैनल में OAuth सहमति स्क्रीन लिंक। उपयोगकर्ताओं को दिखाए गए उत्पाद का नामGoogle Analytics API Console
पर सेट करें और फिर सहेजें पर क्लिक करें।
क्लिक करें साख फिर से, और फिर क्लिक करें साख बनाएँ, और चुनें OAuth क्लाइंट आईडी। आवेदन प्रकार के लिए चयन करें अन्य और उसके बाद के रूप में नामGoogle Analytics API Console
दर्ज करें और बनाएँ क्लिक करें।
प्रमाण पत्र बनाने के बाद, आपको क्लाइंट आईडी और क्लाइंट रहस्य प्रस्तुत किया जाएगा। आप संवाद विंडो बंद कर सकते हैं।
अब, तहत साख आप OAuth 2.0 क्लाइंट आईडी के तहत एक प्रविष्टि देखना चाहिए। client_secret.json
फ़ाइल डाउनलोड करने के लिए उस प्रविष्टि के बहुत दूर दाईं ओर डाउनलोड आइकन पर क्लिक करें (इस फ़ाइल का लंबा नाम होगा)। एक बार इसे डाउनलोड करने के बाद उस फ़ाइल को रूट स्तर पर अपनी परियोजना में जोड़ें और इसे client_secret.json
पर पुनर्नामित करें।
- अब जब कि OAuth 2.0 क्रेडेंशियल बना दिया गया है, हम रिपोर्टिंग API कॉल करने के लिए इसे सक्षम करने की जरूरत है। अवलोकन का चयन करें और सुनिश्चित करें कि Google API दाएं पैनल में चुना गया है। खोज बॉक्स में
Reporting
टाइप करें और सूची से Analytics रिपोर्टिंग API V4 चुनें। अगली स्क्रीन पर, पर क्लिक करें सक्षम करें। एक बार यह एपीआई सक्षम हो जाने के बाद, आपको दाएं पैनल में सक्षम API सूची के अंतर्गत इसे देखने में सक्षम होना चाहिए।
अब है कि हम अपने प्रोजेक्ट बनाया है और हमारे OAuth 2.0 क्रेडेंशियल बना लिया है, यह रिपोर्टिंग API V4 कॉल करने के लिए समय है। नीचे सूचीबद्ध कोड Google API और client_secret.json
फ़ाइल का उपयोग Google.Apis.Auth.OAuth2.UserCredential
बनाने के लिए एक दृश्य के लिए दी गई दिनांक सीमा के बीच सभी सत्रों के लिए रिपोर्टिंग API पूछने के लिए करेगा। कोड Java example here से अनुकूलित किया गया है।
कोड को क्रियान्वित करने से पहले, सामग्री और अगर नएकॉपी करने के लिए आउटपुट निर्देशिका सेटिंग को कॉपी करने के लिए client_secret.json
फ़ाइल पर बिल्ड कार्रवाई सेट करना सुनिश्चित करें। दो चर भी हैं जिन्हें उचित रूप से सेट करने की आवश्यकता है। सबसे पहले, GetCredential()
विधि में, OAuth 2.0 क्रेडेंशियल बनाने के लिए उपयोग किए गए ईमेल पते पर loginEmailAddress
मान सेट करें। फिर, Main
विधि में, ViewId
को reportRequest
चर में सेट करना सुनिश्चित करें कि आप रिपोर्टिंग API का उपयोग कर क्वेरी करना चाहते हैं। ViewId
ढूंढने के लिए, Google Analytics में लॉग इन करें और व्यवस्थापक टैब का चयन करें। वहां से, उस दृश्य का चयन करें जिसे आप में क्वेरी करना चाहते हैं, दूर दाईं ओर स्थित ड्रॉपडाउन देखें और सेटिंग्स देखें।देखें आईडीबेसिक सेटिंग्स के तहत प्रदर्शित किया जाएगा।
पहली बार कोड निष्पादित होने पर, यह एक वेब पेज लाएगा कि क्या आप Google Analytics API Console
को एपीआई डेटा तक पहुंचने की अनुमति देना चाहते हैं। आगे बढ़ने के लिए का चयन करें। तब से उस अनुमति पर GoogleAnalyticsApiConsole
FileDataStore
में संग्रहीत किया जाएगा। अगर वह फ़ाइल हटा दी गई है, तो अनुमति को दोबारा देने की आवश्यकता होगी। वह फ़ाइल %APPDATA%\GoogleAnalyicsApiConsole
निर्देशिका में पाई जा सकती है।
कृपया ध्यान दें कि मेरा मानना है कि इस परिदृश्य ओपी की जरूरतों को पूरा करेगा। यदि यह एप्लिकेशन ग्राहकों को वितरित किया गया था, तो एक अलग ओएथ 2.0 योजना सबसे अधिक आवश्यक होगी।
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Google.Apis.AnalyticsReporting.v4;
using Google.Apis.AnalyticsReporting.v4.Data;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Util.Store;
namespace GoogleAnalyticsApiConsole
{
class Program
{
static void Main(string[] args)
{
try
{
var credential = GetCredential().Result;
using(var svc = new AnalyticsReportingService(
new BaseClientService.Initializer
{
HttpClientInitializer = credential,
ApplicationName = "Google Analytics API Console"
}))
{
var dateRange = new DateRange
{
StartDate = "2016-05-01",
EndDate = "2016-05-31"
};
var sessions = new Metric
{
Expression = "ga:sessions",
Alias = "Sessions"
};
var date = new Dimension { Name = "ga:date" };
var reportRequest = new ReportRequest
{
DateRanges = new List<DateRange> { dateRange },
Dimensions = new List<Dimension> { date },
Metrics = new List<Metric> { sessions },
ViewId = "<<your view id>>"
};
var getReportsRequest = new GetReportsRequest {
ReportRequests = new List<ReportRequest> { reportRequest } };
var batchRequest = svc.Reports.BatchGet(getReportsRequest);
var response = batchRequest.Execute();
foreach (var x in response.Reports.First().Data.Rows)
{
Console.WriteLine(string.Join(", ", x.Dimensions) +
" " + string.Join(", ", x.Metrics.First().Values));
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
static async Task<UserCredential> GetCredential()
{
using (var stream = new FileStream("client_secret.json",
FileMode.Open, FileAccess.Read))
{
const string loginEmailAddress = "<<your account email address>>";
return await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { AnalyticsReportingService.Scope.Analytics },
loginEmailAddress, CancellationToken.None,
new FileDataStore("GoogleAnalyticsApiConsole"));
}
}
}
}
[क्लाइंट लाइब्रेरी डॉक्यूमेंटेशन] (https://developers.google.com/api-client-library/dotnet/get_started) सभी Google एपीआई के लिए लागू होता है। विशेष अनुरोध करने के लिए आप विभिन्न भाषाओं में [V4 API नमूने] (https://developers.google.com/analytics/devguides/reporting/core/v4/samples) देख सकते हैं और इसे नेट नेट पर मैप कर सकते हैं। – Matt
मैंने अंततः यह पता लगाया कि .NET क्लाइंट पुस्तकालयों का उपयोग करने का अनुरोध कैसे किया जाए लेकिन यह निश्चित रूप से सहज नहीं है। यदि मेरे पास कुछ अतिरिक्त समय है तो मैं कुछ नमूना कोड पोस्ट करूंगा – Ben
यदि आपको वह समय मिले तो अच्छा होगा :) –