1

spring social Twitter APIを使って元のJSONデータつぶやきを取得するには? 「Tweet」クラスがありますが、Twitter から JSON 形式で返された元のツイート コンテンツを取得できる関数が見つかりませんでした。

4

1 に答える 1

1

生のJSONデータが必要な理由はわかりませんが、可能であり、取得する方法は次のとおりです。

このガイドに従って、Spring Social Twitter をセットアップします。

Twitter から生の JSON データが必要な場合は、RestTemplateから取得した を使用できますTwitterTemplate

上記のガイドにこのコントローラーを追加します。

@Controller
@RequestMapping("/jsontweets")
public class JsonTweetsController {

    private ConnectionRepository connectionRepository;

    private TwitterTemplate twitterTemplate;

    @Inject
    public JsonTweetsController(Twitter twitter, ConnectionRepository connectionRepository, TwitterTemplate twitterTemplate) {
        this.connectionRepository = connectionRepository;
        this.twitterTemplate = twitterTemplate;
    }

    @RequestMapping(method=RequestMethod.GET)
    public String helloTwitter(@RequestParam String search, Model model) {
        if (connectionRepository.findPrimaryConnection(Twitter.class) == null) {
            return "redirect:/connect/twitter";
        }

        Connection<Twitter> con = connectionRepository.findPrimaryConnection(Twitter.class);
        UserProfile userProfile = con.fetchUserProfile();
        String username =  userProfile.getFirstName() + " " + userProfile.getLastName(); 

        RestTemplate restTemplate = twitterTemplate.getRestTemplate();

        //More Query Options @ https://dev.twitter.com/rest/reference/get/search/tweets    
        String response = restTemplate.getForObject("https://api.twitter.com/1.1/search/tweets.json?q="+search, String.class);
        System.out.println("JSON Response From Twitter: "+response);

        model.addAttribute("jsonstring", response);
        model.addAttribute("username", username);

        return "json";
    }

}

生のツイートを表示するテンプレートを追加しますjson.html

<!DOCTYPE html>
<html>
    <head>
        <title>JSON Tweets</title>
    </head>
    <body>
        <h3>Hello, <span th:text="${username}">Some User</span>!</h3>
        <div th:text="${jsonstring}">JSON Tweets</div>
    </body>
</html>

上記のコードの完全なプロジェクトと最新のコミットを確認してください。

于 2016-05-10T21:08:45.293 に答える