Google Web Yöneticisi Araçları (Search Console) için Sunucuya Sunucu Uygulaması için OAuth 2.0 kullanmaya çalışıyorum, bu yüzden here talimatlarını takip ettim.OAuth 2.0 Sunucuya Sunucu Kimlik bilgileri yetkilendirme Hata (Search Console - Web Yöneticisi araçları)
Bu Uygulama bir hizmet hesabı düzenlendi Google App Engine
veya Google Compute Engine
üzerinde değil ve alan adı çapında yetkiyi sağladı. .json
dosyasını indirip komut dosyasının köküne sakladı.
Örnek:
from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
from httplib2 import Http
scopes = ['https://www.googleapis.com/auth/webmasters.readonly']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'keyfile.json', scopes=scopes)
http_auth = credentials.authorize(Http())
webmasters_service = build('webmasters', 'v3', http=http_auth)
site_list = webmasters_service.sites().list().execute()
print(site_list)
Ama
{}
Boş veri kümesini alıyorum. E-posta adresini keyfile.json
'da değiştirseniz bile. Bu bana dosyanın bir şekilde kullanılmadığını söylüyor. Bu nedenle denemenin boş olarak sonuçlanan hesapların listelerini almasını sağlayın.
Ben
site_list = webmasters_service.sitemaps().list(siteUrl="www.example.com").execute()
yaparsanız ben alıyorum: yine bu hesabın vardır çünkü verilen URL
ait site haritaları almak hakkı yoktur söylüyor
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/webmasters/v3/sites/www.example.com/sitemaps?alt=json returned "User does not have sufficient permission for site 'http://www.example.com/'. See also: https://support.google.com/webmasters/answer/2451999.">
uygun izinler.
Bu hesap sahibi hesap sahibine ait service account
sahibi sahibidir.
Herhangi bir Fikir?
Benim kendi soruyu cevaplamak için nefret ama burada işe gerçekleştirme şekli
'oauth2client''ün hangi sürümünü kullanıyorsunuz? "Oauth2client.service_account içe aktarma ServiceAccountCredentials" den denedim ancak "oauth2client.service_account" sürümüne "ServiceAccountCredentials" eklenmiş gibi görünmüyor. Bir "ServiceAccountCredentials" sınıfı görüyorum ... – Abundnce10
'google-api-python-client (1.5.0)' ı kullanıyorum. Bu sürüm 'pip install --upgrade google-api-python-client' ile geldi. Umarım yardımcı olur. [Doc] (https://developers.google.com/webmaster-tools/v3/quickstart/quickstart-python#step_1_enable_the_search_console_api) – Leustad
İlk başta "pip install --upa oauth2client" komutunu çalıştırdım, ancak eski bir pipo versiyonunu kullandığım için 'düzgün bir şekilde yükseltilemezdi. Ben 'pip' ile güncel değilim ve şimdi 'oauth2client'' ServiceAccountCredentials' sınıfı var. Teşekkürler! – Abundnce10