statuses_usertimelineを叩くやつの実装(#66)

This commit is contained in:
keita
2021-03-19 22:19:53 +09:00
parent 38e8795e06
commit 4d2eecc47d
2 changed files with 59 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#include "cocoatweet/api/status/userTimeline.h"
#include <cocoatweet/util/util.h>
#include "nlohmann/json.hpp"
#include <iostream>
namespace CocoaTweet::API::Statuses {
UserTimeline::UserTimeline() {
contentType_ = "application/x-www-form-urlencoded";
url_ = "https://api.twitter.com/1.1/statuses/user_timeline.json";
}
void UserTimeline::screenName(const std::string& _screenName) {
bodyParam_.insert_or_assign("screen_name", _screenName);
}
std::vector<CocoaTweet::API::Model::Tweet> UserTimeline::process(
std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth) {
std::vector<CocoaTweet::API::Model::Tweet> tweet;
HttpGet::process(_oauth, [&tweet](const unsigned int _responseCode, const std::string& _rsv) {
auto json = nlohmann::json::parse(_rsv);
for (auto j : json) {
tweet.push_back(CocoaTweet::API::Model::Tweet::parse(_responseCode, j.dump()));
std::cout << j.dump() << std::endl;
}
});
return tweet;
}
} // namespace CocoaTweet::API::Statuses
+30
View File
@@ -0,0 +1,30 @@
#ifndef COCOATWEET_API_STATUS_USERTIMELINE_H_
#define COCOATWEET_API_STATUS_USERTIMELINE_H_
#include <cocoatweet/api/interface/httpGet.h>
#include <cocoatweet/api/model/tweet.h>
#include <vector>
#include <utility>
#include <memory>
namespace CocoaTweet::API::Statuses {
/// @brief class for using statuses/update endpoint
class UserTimeline : public CocoaTweet::API::Interface::HttpGet {
public:
/// @brief primary constructor
UserTimeline();
void screenName(const std::string& _screenName);
/// @brief process request for endpoint
/// @param[in] std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth : pointer to oauth object
/// @param[out] CocoaTweet::API::Model::Tweet : request result
std::vector<CocoaTweet::API::Model::Tweet> process(
std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
private:
std::string status_;
};
} // namespace CocoaTweet::API::Statuses
#endif