Замість використання облікового запису послуги ви можете усунути необхідність додавання нових дозволів користувача (відповідно до головних відповідей у цій темі), використовуючи OAuth client ID
облікові дані.
Перейдіть на інформаційну панель облікових даних API і натисніть "Створити облікові дані" -> "Ідентифікатор клієнта OAuth". Після цього вам слід отримати ідентифікатор клієнта та секрет клієнта, що вам потрібно автентифікувати API.
Тепер ви можете використовувати OAuth2WebServerFlow
для автентифікації на основі використання. Ось приклад python3:
from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow
# TODO: Fill these in...
CLIENT_ID = ''
CLIENT_SECRET = ''
VIEW_ID = ''
flow = OAuth2WebServerFlow(
CLIENT_ID, CLIENT_SECRET,
'https://www.googleapis.com/auth/analytics.readonly',
redirect_uri='urn:ietf:wg:oauth:2.0:oob'
)
authorize_url = flow.step1_get_authorize_url()
print('Receive code from:\n%s\n' % authorize_url)
code = input('Enter code here:').strip()
credentials = flow.step2_exchange(code)
api = build('analyticsreporting', 'v4', credentials=credentials)
body={
'reportRequests': [{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
'metrics': [{'expression': 'ga:sessions'}],
'dimensions': [{'name': 'ga:country'}]
}]
}
data = api.reports().batchGet(body=body).execute()