서비스 계정을 사용하는 대신이 스레드의 최상위 답변에 따라 새 사용자 권한을 추가해야 할 필요성을 회피 할 수 있습니다. OAuth client ID
자격 증명 .
API 자격 증명 대시 보드로 이동 "신임 정보 작성"-> "OAuth 클라이언트 ID"를 클릭하십시오. 그런 다음 API를 인증해야하는 클라이언트 ID와 클라이언트 비밀번호를 가져와야합니다.
이제 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()