2013-06-06 13 views
5

Ho lavorato a partire dal codice originale pubblicato allo Matlab login and download failure when calling WebClient.DownloadFile per provare a scaricare i dati dei trend di Google in un CSV direttamente da MATLAB.matlab download google trends csv

Ho anche letto nel post di Emanuele a login with curl and get session che la politica di autenticazione di Google è cambiato, e ora il mio codice è simile al seguente:

NET.addAssembly('System.Net'); 

url = strcat(['https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email='  USERNAME '&Passwd=' PASSWORD '&service=trendspro&source=test-test-v1']); 

durl = System.String(strcat('http://www.google.com/trends/viz?q=', keyWord, '&date=all&geo=all&graph=all_csv&sort=0&scale=1&sa=N')) 

if exist('googleWebClient','var') 
    client = googleWebClient; 
else 
    client = System.Net.WebClient; 

    response = client.DownloadString(url); 
    sid = char(response.ToString); 
    sid = regexp(sid, '\n', 'split'); 

    client.Headers.Add('Cookies', char(sid(1))); 

    client.Headers.Add('Authorization', strcat( 'GoogleLogin ' , char(sid(3)) ) ); 


end 


client.DownloadString(durl) 

che restituisce unforgivingly:

ans = 

<div id="report"> 
    <div class="timeBandTitle">An error has been detected</div> 
    <div class="timeBandSubTitle">You have reached your quota limit. Please try again later.</div> 
    </div> 

Se qualcuno è in grado di accedi a google tendenze csv dati da matlab, sei il mio eroe

risposta

0

Supponendo che tu non abbia effettivamente raggiunto il limite di quota, sospetterei che non hai turned on API access. (Interpretato come limite di quota di 0 ?!)

Può essere trovato sotto i servizi.

Problemi correlati