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?