नमस्ते Analytics API: सेवा खातों के लिए Python क्विकस्टार्ट

यह ट्यूटोरियल Google Analytics खाता ऐक्सेस करने, Analytics एपीआई के बारे में क्वेरी करने, एपीआई से मिले रिस्पॉन्स को मैनेज करने, और नतीजे देने के लिए ज़रूरी चरणों के बारे में बताता है. इस ट्यूटोरियल में, Core Reporting API v3.0, Management API v3.0, और OAuth2.0 का इस्तेमाल किया गया है.

पहला चरण: Analytics API चालू करना

Google Analytics API का इस्तेमाल शुरू करने से पहले, सेटअप टूल इस्तेमाल करना ज़रूरी है. यह आपको Google API Console में प्रोजेक्ट बनाने, एपीआई की सुविधा चालू करने, और क्रेडेंशियल बनाने के बारे में जानकारी देता है.

क्लाइंट आईडी बनाना

  1. सेवा खाते का पेज खोलें. पूछे जाने पर, प्रोजेक्ट चुनें.
  2. सेवा खाता बनाएं पर क्लिक करें, सेवा खाते का नाम और जानकारी डालें. आप डिफ़ॉल्ट सेवा खाता आईडी इस्तेमाल करें या फिर कोई दूसरा, अलग खाता आईडी चुनें. काम पूरा हो जाने पर, बनाएं पर क्लिक करें.
  3. इसके बाद आने वाले सेवा खाते की अनुमतियां (ज़रूरी नहीं) सेक्शन की ज़रूरत नहीं है. जारी रखें पर क्लिक करें.
  4. उपयोगकर्ताओं को इस खाते का ऐक्सेस दें स्क्रीन पर, नीचे कुंजी बनाएं सेक्शन तक स्क्रोल करें. कुंजी बनाएं पर क्लिक करें.
  5. दिखने वाले साइड पैनल में, अपनी कुंजी का फ़ॉर्मैट चुनें: JSON का सुझाव दिया जाता है.
  6. बनाएं पर क्लिक करें. आपकी नई सार्वजनिक/निजी कुंजी की जोड़ी जनरेट करके आपकी मशीन पर डाउनलोड की जाती है. यह इस कुंजी की अकेली कॉपी की तरह काम करती है. इसे सुरक्षित तौर पर कैसे सेव किया जाए, इसकी जानकारी के लिए, सेवा खाता कुंजियां मैनेज करें देखें.
  7. आपके कंप्यूटर पर सेव की गई निजी कुंजी डायलॉग पर, बंद करें पर क्लिक करें. इसके बाद, अपने सेवा खातों की टेबल पर वापस लौटने के लिए, हो गया पर क्लिक करें.

Google Analytics खाते में सेवा खाता जोड़ें

नए सेवा खाते में ईमेल पता <projectId>-<uniqueId>@developer.gserviceaccount.com होगा; इस ईमेल पते का इस्तेमाल करके, एपीआई के ज़रिए ऐक्सेस किए जाने वाले Google Analytics खाते में किसी उपयोगकर्ता को जोड़ें. सिर्फ़ इस ट्यूटोरियल के लिए, पढ़ने और विश्लेषण करने की अनुमतियां ज़रूरी हैं.

दूसरा चरण: Google क्लाइंट लाइब्रेरी इंस्टॉल करना

पैकेज मैनेजर का इस्तेमाल करें या Python क्लाइंट लाइब्रेरी को मैन्युअल तरीके से डाउनलोड और इंस्टॉल करें:

pip

Python पैकेज इंस्टॉल करने के लिए, सुझाया गया टूल pip इस्तेमाल करें:

sudo pip install --upgrade google-api-python-client

सेटअपटूल

setuptools पैकेज में शामिल easy_install टूल का इस्तेमाल करें:

sudo easy_install --upgrade google-api-python-client

मैन्युअल तरीके से इंस्टॉल करना

Python के लिए क्लाइंट लाइब्रेरी का सबसे नया वर्शन डाउनलोड करें. इसके बाद, कोड को अनपैक करें और इसे चलाएं:

sudo python setup.py install

Python सिस्टम पर इंस्टॉल करने के लिए, आपको सुपर उपयोगकर्ता (sudo) के खास अधिकारों वाले कमांड को शुरू करने की ज़रूरत पड़ सकती है.

तीसरा चरण: सैंपल सेटअप करना

आपको HelloAnalytics.py नाम की एक फ़ाइल बनानी होगी, जिसमें दिया गया सैंपल कोड शामिल होगा.

  1. इस सोर्स कोड को HelloAnalytics.py में कॉपी करें या डाउनलोड करें.
  2. पहले डाउनलोड किए गए client_secrets.json को उसी डायरेक्ट्री में ले जाएं जिसमें सैंपल कोड मौजूद है.
  3. key_file_location की वैल्यू को डेवलपर कंसोल में मौजूद सही वैल्यू से बदलें.
"""A simple example of how to access the Google Analytics API."""

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials


def get_service(api_name, api_version, scopes, key_file_location):
    """Get a service that communicates to a Google API.

    Args:
        api_name: The name of the api to connect to.
        api_version: The api version to connect to.
        scopes: A list auth scopes to authorize for the application.
        key_file_location: The path to a valid service account JSON key file.

    Returns:
        A service that is connected to the specified API.
    """

    credentials = ServiceAccountCredentials.from_json_keyfile_name(
            key_file_location, scopes=scopes)

    # Build the service object.
    service = build(api_name, api_version, credentials=credentials)

    return service


def get_first_profile_id(service):
    # Use the Analytics service object to get the first profile id.

    # Get a list of all Google Analytics accounts for this user
    accounts = service.management().accounts().list().execute()

    if accounts.get('items'):
        # Get the first Google Analytics account.
        account = accounts.get('items')[0].get('id')

        # Get a list of all the properties for the first account.
        properties = service.management().webproperties().list(
                accountId=account).execute()

        if properties.get('items'):
            # Get the first property id.
            property = properties.get('items')[0].get('id')

            # Get a list of all views (profiles) for the first property.
            profiles = service.management().profiles().list(
                    accountId=account,
                    webPropertyId=property).execute()

            if profiles.get('items'):
                # return the first view (profile) id.
                return profiles.get('items')[0].get('id')

    return None


def get_results(service, profile_id):
    # Use the Analytics Service Object to query the Core Reporting API
    # for the number of sessions within the past seven days.
    return service.data().ga().get(
            ids='ga:' + profile_id,
            start_date='7daysAgo',
            end_date='today',
            metrics='ga:sessions').execute()


def print_results(results):
    # Print data nicely for the user.
    if results:
        print 'View (Profile):', results.get('profileInfo').get('profileName')
        print 'Total Sessions:', results.get('rows')[0][0]

    else:
        print 'No results found'


def main():
    # Define the auth scopes to request.
    scope = 'https://www.googleapis.com/auth/analytics.readonly'
    key_file_location = '<REPLACE_WITH_JSON_FILE>'

    # Authenticate and construct service.
    service = get_service(
            api_name='analytics',
            api_version='v3',
            scopes=[scope],
            key_file_location=key_file_location)

    profile_id = get_first_profile_id(service)
    print_results(get_results(service, profile_id))


if __name__ == '__main__':
    main()

चौथा चरण: सैंपल चलाएं

Analytics API चालू करने के बाद, Python के लिए Google API क्लाइंट लाइब्रेरी इंस्टॉल करें और सैंपल सोर्स कोड सेट अप करें, ताकि सैंपल चलाने के लिए तैयार हो.

सैंपल को चलाने के लिए, इनका इस्तेमाल करें:

python HelloAnalytics.py

इन चरणों को पूरा करने के बाद, सैंपल, अनुमति वाले उपयोगकर्ता के पहले Google Analytics व्यू (प्रोफ़ाइल) का नाम और पिछले सात दिनों के सेशन की संख्या दिखाता है.

अनुमति वाले Analytics सेवा ऑब्जेक्ट की मदद से, अब आप Management API रेफ़रंस दस्तावेज़ में मिलने वाले किसी भी कोड सैंपल को चला सकते हैं. उदाहरण के लिए, आप accountSummaries.list तरीके का इस्तेमाल करने के लिए, कोड को बदलकर देख सकते हैं.

समस्या हल करना

एट्रिब्यूट की गड़बड़ी: 'Module_six_moves_urllib_parse' ऑब्जेक्ट में कोई 'urlparse' एट्रिब्यूट नहीं है

यह गड़बड़ी Mac Nexus में हो सकती है, जहां "छह" मॉड्यूल (इस लाइब्रेरी पर निर्भरता) का डिफ़ॉल्ट इंस्टॉलेशन पीआईपी (पिक्चर में पिक्चर) इंस्टॉल किए जाने से पहले लोड होता है. इस समस्या को ठीक करने के लिए, PYTHONPATH सिस्टम के एनवायरमेंट वैरिएबल में, पीआईपी की इंस्टॉल करने की जगह की जानकारी जोड़ें:

  1. नीचे दिए गए निर्देश की मदद से, पीआईपी (पिक्चर में पिक्चर) की इंस्टॉल करने की जगह का पता लगाएं:

    pip show six | grep "Location:" | cut -d " " -f2
    

  2. <pip_install_path> को ऊपर तय की गई वैल्यू से बदलकर, अपनी ~/.bashrc फ़ाइल में यह लाइन जोड़ें:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. इस निर्देश का इस्तेमाल करके, अपनी ~/.bashrc फ़ाइल को किसी भी खुली हुई टर्मिनल विंडो में फिर से लोड करें:

    source ~/.bashrc