হ্যালো অ্যানালিটিক্স রিপোর্টিং API v4; ইনস্টল করা অ্যাপ্লিকেশনের জন্য পাইথন কুইকস্টার্ট

এই টিউটোরিয়ালটি অ্যানালিটিক্স রিপোর্টিং API v4 অ্যাক্সেস করার জন্য প্রয়োজনীয় পদক্ষেপের মধ্য দিয়ে চলে।

1. API সক্রিয় করুন

অ্যানালিটিক্স রিপোর্টিং API v4 ব্যবহার করা শুরু করতে, আপনাকে প্রথমে সেটআপ টুল ব্যবহার করতে হবে, যা আপনাকে Google API কনসোলে একটি প্রকল্প তৈরি, API সক্ষম করা এবং শংসাপত্র তৈরি করার মাধ্যমে গাইড করে৷

দ্রষ্টব্য: একটি ওয়েব ক্লায়েন্ট আইডি বা একটি ইনস্টল করা অ্যাপ্লিকেশন ক্লায়েন্ট তৈরি করতে, আপনাকে সম্মতি স্ক্রিনে একটি পণ্যের নাম সেট করতে হবে। যদি আপনি ইতিমধ্যে তা না করে থাকেন তাহলে আপনাকে কনসেন্ট স্ক্রীন কনফিগার করতে বলা হবে।

শংসাপত্র তৈরি করুন

  • শংসাপত্র পৃষ্ঠা খুলুন.
  • ক্রেডেনশিয়াল তৈরি করুন ক্লিক করুন এবং OAuth ক্লায়েন্ট আইডি নির্বাচন করুন
  • অ্যাপ্লিকেশন প্রকারের জন্য অন্য নির্বাচন করুন।
  • ক্লায়েন্ট আইডির নাম দিন কুইকস্টার্ট এবং তৈরি করুন ক্লিক করুন।

শংসাপত্র পৃষ্ঠা থেকে নতুন তৈরি ক্লায়েন্ট আইডিতে ক্লিক করুন এবং JSON ডাউনলোড করুন ক্লিক করুন এবং এটি client_secrets.json হিসাবে সংরক্ষণ করুন; আপনার টিউটোরিয়ালে পরে এটি প্রয়োজন হবে।

2. ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

পাইথন প্যাকেজ ইনস্টল করার জন্য venv- এর সাথে pip ব্যবহার করা হল প্রস্তাবিত উপায়: sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-python- ক্লায়েন্ট পিপ ইনস্টল --আপগ্রেড oauth2client

3. নমুনা সেটআপ করুন

আপনাকে HelloAnalytics.py নামে একটি ফাইল তৈরি করতে হবে, যাতে প্রদত্ত নমুনা কোড থাকবে।

  1. HelloAnalytics.py এ নিম্নলিখিত সোর্স কোডটি কপি বা ডাউনলোড করুন
  2. নমুনা কোড হিসাবে একই ডিরেক্টরিতে পূর্বে ডাউনলোড করা client_secrets.json সরান।
  3. VIEW_ID এর মান প্রতিস্থাপন করুন। আপনি একটি ভিউ আইডি খুঁজতে অ্যাকাউন্ট এক্সপ্লোরার ব্যবহার করতে পারেন।
"""Hello Analytics Reporting API V4."""

import argparse

from apiclient.discovery import build
import httplib2
from oauth2client import client
from oauth2client import file
from oauth2client import tools

SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
CLIENT_SECRETS_PATH = 'client_secrets.json' # Path to client_secrets.json file.
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'


def initialize_analyticsreporting():
  """Initializes the analyticsreporting service object.

  Returns:
    analytics an authorized analyticsreporting service object.
  """
  # Parse command-line arguments.
  parser = argparse.ArgumentParser(
      formatter_class=argparse.RawDescriptionHelpFormatter,
      parents=[tools.argparser])
  flags = parser.parse_args([])

  # Set up a Flow object to be used if we need to authenticate.
  flow = client.flow_from_clientsecrets(
      CLIENT_SECRETS_PATH, scope=SCOPES,
      message=tools.message_if_missing(CLIENT_SECRETS_PATH))

  # Prepare credentials, and authorize HTTP object with them.
  # If the credentials don't exist or are invalid run through the native client
  # flow. The Storage object will ensure that if successful the good
  # credentials will get written back to a file.
  storage = file.Storage('analyticsreporting.dat')
  credentials = storage.get()
  if credentials is None or credentials.invalid:
    credentials = tools.run_flow(flow, storage, flags)
  http = credentials.authorize(http=httplib2.Http())

  # Build the service object.
  analytics = build('analyticsreporting', 'v4', http=http)

  return analytics

def get_report(analytics):
  # Use the Analytics Service Object to query the Analytics Reporting API V4.
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
          'metrics': [{'expression': 'ga:sessions'}]
        }]
      }
  ).execute()


def print_response(response):
  """Parses and prints the Analytics Reporting API V4 response"""

  for report in response.get('reports', []):
    columnHeader = report.get('columnHeader', {})
    dimensionHeaders = columnHeader.get('dimensions', [])
    metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', [])
    rows = report.get('data', {}).get('rows', [])

    for row in rows:
      dimensions = row.get('dimensions', [])
      dateRangeValues = row.get('metrics', [])

      for header, dimension in zip(dimensionHeaders, dimensions):
        print header + ': ' + dimension

      for i, values in enumerate(dateRangeValues):
        print 'Date range (' + str(i) + ')'
        for metricHeader, value in zip(metricHeaders, values.get('values')):
          print metricHeader.get('name') + ': ' + value


def main():

  analytics = initialize_analyticsreporting()
  response = get_report(analytics)
  print_response(response)

if __name__ == '__main__':
  main()

4. নমুনা চালান

ব্যবহার করে নমুনা চালান:

python HelloAnalytics.py
  • অ্যাপ্লিকেশনটি একটি ব্রাউজারে অনুমোদন পৃষ্ঠাটি লোড করবে।
  • আপনি যদি ইতিমধ্যে আপনার Google অ্যাকাউন্টে লগ ইন না করে থাকেন, তাহলে আপনাকে লগ ইন করতে বলা হবে৷ আপনি যদি একাধিক Google অ্যাকাউন্টে লগ ইন করে থাকেন, তাহলে অনুমোদনের জন্য ব্যবহার করার জন্য আপনাকে একটি অ্যাকাউন্ট নির্বাচন করতে বলা হবে৷

আপনি যখন এই ধাপগুলি শেষ করেন, নমুনাটি প্রদত্ত দৃশ্যের জন্য গত সাত দিনের সেশনের সংখ্যা বের করে।

সমস্যা সমাধান

অ্যাট্রিবিউট ত্রুটি: 'মডিউল_সিক্স_মোভস_উরলিব_পার্স' অবজেক্টের কোনো অ্যাট্রিবিউট নেই 'urlparse'

এই ত্রুটিটি ম্যাক ওএসএক্সে ঘটতে পারে যেখানে "ছয়" মডিউলের ডিফল্ট ইনস্টলেশন (এই লাইব্রেরির একটি নির্ভরতা) পিপ ইনস্টল করার আগে লোড করা হয়। সমস্যাটি সমাধান করতে, PYTHONPATH সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলে পিপের ইনস্টল অবস্থান যোগ করুন:

  • নিম্নলিখিত কমান্ডের সাহায্যে পিপের ইনস্টলেশন অবস্থান নির্ধারণ করুন:

    পিপ শো ছয় | grep "অবস্থান:" | কাট -d "" -f2

  • আপনার ~/.bashrc ফাইলে নিম্নলিখিত লাইনটি যোগ করুন, &lt;pip_install_path&gt; উপরে নির্ধারিত মান সহ:

    PYTHONPATH=$PYTHONPATH:<pip_install_path> রপ্তানি করুন

  • নিম্নলিখিত কমান্ডটি ব্যবহার করে যেকোনো খোলা টার্মিনাল উইন্ডোতে আপনার ~/.bashrc ফাইলটি পুনরায় লোড করুন:

    উৎস ~/.bashrc