2010-11-23 8 views
3

Ich habe ein Problem mit der Authentifizierung GReader Bearbeitung API. Ich kann HTTPS (https://www.google.com/accounts/ClientLogin) zur Authentifizierung verwenden, und google gibt drei Token zurück (SID, LSID, AUTH), aber keine HSID.Google Reader Bearbeitung API Authentifizierungsproblem

Wenn ich versuche, einen neuen Feed http://www.google.com/reader/api/0/subscription/quickadd?ck=1290452912454&client=scroll mit POST-Daten T = djj72HsnLS8293 & QuickAdd = blog.martindoms.com/feed/ohne HSID Cookie hinzufügen, ist Antwortstatuscode 401. Mit SID und HSID Cookie alles richtig funktioniert.

Was ist und wo kann ich diese HSID-Zeichenfolge finden?

Thaks für Ihre Antworten.

Mein Code:

public void addNewFeed() throws IOException { 
     HttpPost requestPost = new HttpPost("http://www.google.com/reader/api/0/subscription/quickadd?ck=1290452912454&client=scroll"); 
     getSid();   
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
     DefaultHttpClient client = new DefaultHttpClient(); 
     requestPost.addHeader("Cookie", "SID=" + _sid + "; HSID=" + _hsid); 
     try { 
      nameValuePairs.add(new BasicNameValuePair("T", _token)); 
      nameValuePairs.add(new BasicNameValuePair("quickadd", "blog.martindoms.com/feed/")); 
      requestPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
      HttpResponse response = client.execute(requestPost); 

      InputStream in = response.getEntity().getContent(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
      StringBuilder str = new StringBuilder(); 
      String line = null; 

      while ((line = reader.readLine()) != null) { 
       str.append(line + "\n"); 
      } 
      System.out.println(str.toString()); 
      in.close(); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 

Antwort

3

Sieht aus wie Sie alte Informationen als Referenz verwendet werden könnten. Google wechselte jetzt zu auth.

Sie müssen getSid() durch eine getAuth() - Funktion ersetzen.

Dann ist diese Linie

requestPost.addHeader("Cookie", "SID=" + _sid + "; HSID=" + _hsid); 

jetzt sollte diese

requestPost.addHeader("Authorization", "GoogleLogin auth=" + _auth); 
sein
Verwandte Themen