2013-10-11 22 views
6

Bunu nasıl yapabileceğimi anlamaya çalışmak için bugün kafamı yoruyorum. CSV'leri yapmakta başarılı olduğum Google Web Yöneticisi Araçları'ndan indirmek istiyorum. Ancak, erişmek istediğim hesabın kullanıcı adını ve şifresini doğrudan geçmem gerekiyor. Web yöneticisi araçlarının diğer tüm yönleri için, yalnızca kullanıcı giriş bilgisine sahibim ve oradan jetonu değiştirip tekrar kullanılabilir bir oturum jetonuyla oturum açarım.Java google webmaster en sık sorulan sorular

Sorgu verileri alınırken bu yöntemi kullanamıyorum.

String next = "http://xyz.domain.com/auth"; //sets page to goto after user log's in so we can pass the token to application 
String scope = "http://www.google.com/webmasters/tools/feeds"; // sets the scope of the token 
boolean secure = false; 
boolean session = true; 
String urlFromAuthSub = AuthSubUtil.getRequestUrl(next, scope, secure, session); //generates the URL to forward user to loginto google. 

Yakalama sayfanızda (yukarıdaki kodda bir sonraki parametre) başarılı oturum açtıktan sonra jetonu alırsınız. Sonra oturumun belirteci için değiştirirsiniz.

String token = "##########################"; 
String sessionToken = AuthSubUtil.exchangeForSessionToken(token, null); 
//store sessionToken for all future use to interact with webmaster for this user. 

Sonunda biz sadece bizim WebmasterToolsService nesne oluşturmak ve bu oturumun jetonuyla AuthSubToken ve YAPILAN var set! CSV indirin çalışırken

WebmasterToolsService myService = new WebmasterToolsService("DemoWebmaster"); 
myService.setAuthSubToken(token); 

Ancak, Google'ın, kullanıcı tam kimlik bilgilerini kullanmaktan başka çarem yok. Ben tam İstemci girişini geçirerek olarak

String host = "www.google.com"; 
String dl_list_url = "/webmasters/tools/downloads-list?hl=%s&siteUrl=%s"; 
String sites_path = "/webmasters/tools/feeds/sites/"; 
WebmasterToolsService svc = new WebmasterToolsService("DemoQuery Service"); 
svc.setUserCredentials("[email protected]", "123456"); 

Bundan sonra webmaster API ile her şeyi yapabilir. Ancak, yapıyorum uygulama için, kullanıcılara tam Google kimlik bilgilerini saklamam gerekir.

Google web yöneticisi API'sini eklediğinizde bunu bir şekilde ele geçirmeyi başaran bir şirket gördüm. Ama nasıl mümkün olduğunu göremiyorum. Herhangi bir fikir?

cevap

1

Bunu yapan şirket hakkında kim, bir çeşit kamusal araç ya da mashup veriyorlar mı? Muhtemelen, verilerinizi saklamak için adil olmayan bir numara kullanıyorlar. URL’niz var mı? Bildiğim kadarıyla (ve eğer daha fazla araştırma yaptım bilmiyorum) bu mümkün değildir. Birkaç şeyler için : Dediğiniz gibi

  1. , google's example in python kullanıcı adı ve şifresini kullanır.
  2. eyecatchup php-webmaster-tools-downloads library, ayrıca kullanıcı adı ve parola gerektirir.
  3. Google API Konsolu'na (https://code.google.com/apis/console veya https://cloud.google.com/console) giderseniz, Web Yöneticisi Araçları API'sı mevcut değildir, bu nedenle diğer tüm apislerin yaptığı gibi ortak izin sistemini kullanmak gibi görünmüyor.

Bu yüzden şanslı olmayacağından korkuyorum.

İlgili konular