我想获得谷歌搜索控制台的网站。
我正在起诉代码:
from google.oauth2.credentials import Credentials
from googleapiclient import discovery
class GoogleSearchConsoleApiClient():
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
def __init__(self):
pass
def get_sites(self, creds):
try:
service = discovery.build('searchconsole', 'v1', credentials=creds, cache_discovery=False)
site_list = service.sites().list().execute()
print(site_list)
except Exception as e:
raise e
return url
def execute(self):
credentials = {
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"client_email": "XXXXX",
"client_id": "XXXXX",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/XXXX",
"owner": "XXX",
"private_key": "XXX",
"private_key_id": "XX",
"project_id": "XXX",
"token_uri": "https://oauth2.googleapis.com/token",
"type": "service_account"
}
credentials = Credentials.from_authorized_user_info(credentials, scopes=self.SCOPES)
sites_list = self.get_sites(credentials)
return sites_list
if __name__ == '__main__':
a = GoogleSearchConsoleApiClient().execute()
print(a)
运行代码时,出现异常:
credentials = Credentials.from_authorized_user_info(credentials, scopes=self.SCOPES)
错误:
File "/Users/j/venv/lib/python2.7/site-packages/google/oauth2/credentials.py", line 231, in from_authorized_user_info
"fields {}.".format(", ".join(missing))
ValueError: Authorized user info was not in the expected format, missing fields client_secret, refresh_token
.
是否有任何授权方式可以使用给定的凭据?