2013-10-11 13 views
6

Mi sono battuto con la testa per giorni cercando ora di capire come è possibile farlo. Voglio scaricare i CSV da Strumenti per i Webmaster di Google che sono riuscito a fare. Tuttavia, devo passare direttamente il nome utente e la password dell'account a cui desidero accedere. Per tutti gli altri aspetti degli strumenti per i webmaster, ho semplicemente il login utente e cambio il token da lì login con un token sessione riutilizzabile.Java google webmaster top query

Non riesco a utilizzare questo metodo quando si tratta di ottenere i dati della query.

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. 

Sulla tua pagina di cattura (parametro successivo nel codice sopra) si riceve il token dopo il login di successo. Quindi lo scambia per il token di sessione.

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

Poi finalmente abbiamo semplicemente creare il nostro WebmasterToolsService oggetto e impostare è AuthSubToken al token di sessione, e fatto!

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

Tuttavia quando si cerca di scaricare il CSV, non ho altra scelta che utilizzare le credenziali completo dell'utente di Google.

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"); 

Dopo che posso fare qualsiasi cosa con l'API webmaster come sto passando il login client completo. Tuttavia, per l'applicazione che sto creando, non è necessario memorizzare le credenziali Google complete degli utenti.

Ho visto una società che è riuscita a liberarsene in qualche modo quando si aggiunge l'API per i webmaster di Google. Ma non riesco a vedere come sia possibile. Qualche idea?

risposta

1

A proposito di quella società che lo sta facendo, chi sono, stanno dando qualche tipo di strumento pubblico o mashup? Probabilmente stanno solo usando qualche trucco ingiusto per mantenere i tuoi dati. Hai un URL?

Per quanto ne so (e ho fatto un'ulteriore ricerca per ogni evenienza) non è possibile. per un paio di cose:

  1. Come dici tu, google's example in python utilizza username e password.
  2. eyecatchup php-webmaster-tools-downloads library, richiede anche nome utente e password.
  3. Se si passa alla Console API di Google (https://code.google.com/apis/console o https://cloud.google.com/console) l'API degli Strumenti per i Webmaster non è presente, quindi non sembra utilizzare il sistema di autorizzazione in comune come fanno tutti gli altri apis.

Quindi, temo che non sarai fortunato.