Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions src/TwitterApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,32 @@ String TwitterApi::getUserStatistics(String screenName){
//Serial.println(command);
return sendGetToTwitter(command); //recieve reply from twitter
}

int TwitterApi::getTwitterFollowers(String twitter_name){
String responseString = getUserStatistics(twitter_name);
DynamicJsonDocument jsonBuffer(8096);
DeserializationError error = deserializeJson(jsonBuffer, responseString);
if (_debug){
switch (error.code()) {
case DeserializationError::Ok:
Serial.print(F("Deserialization succeeded"));
break;
case DeserializationError::InvalidInput:
Serial.print(F("Invalid input!"));
break;
case DeserializationError::NoMemory:
Serial.print(F("Not enough memory"));
break;
default:
Serial.print(F("Deserialization failed"));
break;
}
}
if (!error) {
int twitterFollowers = jsonBuffer["followers_count"].as<int>();
return twitterFollowers;
} else {
Serial.println("Failed to parse Json for twitter");
return 0;
}
}
2 changes: 2 additions & 0 deletions src/TwitterApi.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ class TwitterApi
String sendGetToTwitter(String command);
String getUserStatistics(String screenName);
void setBearerToken(String bearerToken);
int getTwitterFollowers(String twitter_name);
bool _debug = false;

private:
Client *client;
Expand Down
10 changes: 5 additions & 5 deletions src/TwitterBearerToken.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ String TwitterBearerToken::getNewToken(const char * consumerKey, const char * co
}
}
if (avail) {
DynamicJsonBuffer jsonBuffer;
JsonObject& root = jsonBuffer.parseObject(body);
if (root.success()) {
if (root.containsKey("access_token")) {
token = root["access_token"].as<String>();
DynamicJsonDocument jsonBuffer(1024);
DeserializationError error = deserializeJson(jsonBuffer, body);
if (!error) {
if (jsonBuffer.containsKey("access_token")) {
token = jsonBuffer["access_token"].as<int>();
return token;
}
}
Expand Down