Проблема с проверкой подлинности API редактирования Google Reader

У меня проблема с аутентификацией в API редактирования GReader. Я могу использовать HTTPS (https://www.google.com/accounts/ClientLogin) для аутентификации, и Google возвращает три токена (SID, LSID, AUTH), но не HSID.

Когда я пытаюсь добавить новый канал, http://www.google.com/reader/api/0/subscription/quickadd?ck=1290452912454&client=scroll с данными POST T = djj72HsnLS8293 & quickadd = blog.martindoms.com / feed / без HSID в cookie, это код статуса ответа 401. С SID и HSID в Cookie все работает исправно.

Что это такое и где я могу найти эту строку HSID?

Спасибо за ответы.

Мой код:

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();
        }
    }

person Zdeněk    schedule 23.11.2010    source источник


Ответы (1)


Похоже, вы использовали старую информацию как ссылку. Google перешел на использование аутентификации.

Вам нужно будет заменить getSid () функцией getAuth ().

Тогда эта строка

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

теперь должно быть это

requestPost.addHeader("Authorization", "GoogleLogin auth=" + _auth);
person smilbandit    schedule 06.12.2010