Получить дату публикации или получения через Google Feed API v0 или v1

Аааа, мой первый пост ...

Я использую API-интерфейс Google Feed-v1 (https://developers.google.com/feed/v1/), и у меня есть несколько RSS-каналов, в которых поле «publishedDate» пустое, то есть - «:», что означает, что издатель RSS не передавать дату статьи в свой RSS-канал. Например, я беру статьи с http://www.globest.com/index.xml и в их ленте нет «publishedDate» или «pubDate»; однако, когда я помещаю www.globest.com/index.xml в Google Reader, рядом с заголовком появляется дата статьи. Я понимаю, что дата, указанная рядом со статьей в Google Reader, является датой «Получена» или «Опубликована». Google объясняет здесь терминологию http://support.google.com/reader/bin/answer.py?hl=en&answer=78728

Итак, мой вопрос .... Есть ли в Google Feed API v1 метод, позволяющий получить дату (даты) «Получено» или «Опубликовано»? Если да, то как. Если нет, то про v0?

Я использую Java и JSON, мой код ниже:

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import net.sf.json.JSONObject;

    public class FeedTester 
    {

        public static void main(String[] args) throws IOException 
        {
            String loadBaseURL = "https://ajax.googleapis.com/ajax/services/feed/load";
            String googleRSSURL = "?v=1.0&q=";
            String testRSSURL = "http://www.globest.com/index.xml";
            String extra = "&callback=CB1&num=10";

            URL url = new URL(loadBaseURL+googleRSSURL+testRSSURL+extra);
            URLConnection connection = url.openConnection();
            connection.addRequestProperty("Referer", "www.YOURSITE.com");

            String line;
            StringBuilder builder = new StringBuilder();
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            while((line = reader.readLine()) != null)
            {
                    builder.append(line);
            }

            JSONObject json = new JSONObject();
            json.put("values", builder.toString());

            System.out.println(json.get("values"));
        }//end main
    }//end FeedTester

person CP3-O    schedule 03.06.2012    source источник


Ответы (1)


Я не уверен насчет Java, но в Python вы можете получить доступ к опубликованной дате ниже. results - это ответ Google в формате json.

for entries in results['responseData']['feed']['entries']:  
    print entries['publishedDate']

Надеюсь, это поможет.

person Hellonearthis    schedule 03.06.2012
comment
Спасибо за ответ. Проблема в том, что pubDate отсутствует в опубликованном RSS-канале. Поэтому, если вы получаете доступ к RSS-каналу www.globest.com/index.xml, pubDate не предоставляется; однако, если вы поместите упомянутый RSS-канал в Google Reader, он предоставит дату получения или публикации. Я пытаюсь понять, как узнать дату получения или публикации - person CP3-O; 03.06.2012