1

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

cevap

1

teşekkür ederiz;

Yani alt çizgi

ve

üzerine, bir ...Eğitmenler birisi yeni oluşturulan e-posta adresini uygulamanın izninin bölümüne eklemekten bahsetmeyi unutmuş ...

+0

'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

+0

'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

+0

İ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