Wiki source code of TwitterGroovy
Version 13.1 by Ludovic Dubost on 2009/01/02 14:53
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | |||
2 | |||
3 | import java.util.List; | ||
4 | import twitter4j.Twitter; | ||
5 | import org.w3c.dom.Document; | ||
6 | import java.util.Date; | ||
7 | import java.text.*; | ||
8 | |||
9 | public class TwitterGroovy { | ||
10 | Twitter twitter; | ||
11 | |||
12 | public Twitter getTwitter(twitterID, twitterPassword) { | ||
13 | if (twitter!=null) | ||
14 | return twitter; | ||
15 | |||
16 | twitter = new Twitter(twitterID,twitterPassword); | ||
17 | return twitter; | ||
18 | } | ||
19 | |||
20 | public List search(String text) { | ||
21 | String url = "http://search.twitter.com/search.atom?q=" + text; | ||
22 | def resp = twitter.get(url, true); | ||
23 | def xml = resp.asString(); | ||
24 | def list = new ArrayList(); | ||
25 | def node = new XmlSlurper().parseText(xml) | ||
26 | for (entry in node.entry) { | ||
27 | String authoruri = entry.author.uri; | ||
28 | String authorid = authoruri.substring(authoruri.lastIndexOf("/") + 1); | ||
29 | Date publishDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").parse(entry.published); | ||
30 | def user = [ "id" : authorid, "name" : entry.author.name, "screenName" : authorid, | ||
31 | "location" : "", "description" : "", "profileImageUrl": "", "url" : authoruri, "isProtected" : "", "followersCount" : -1]; | ||
32 | def st = [ "id" : entry.id, "createdAt" : publishDate, "text" : entry.title, "content" : entry.content, "source" : "", "isTruncated" : false, "inReplyToStatusId": "", "inReplyToUserId": "", "user" : user ]; | ||
33 | list.add(st); | ||
34 | } | ||
35 | return list; | ||
36 | } | ||
37 | } |