This YouTube play button can show you :-
Subscriber count
Total views from videos you posted
Total videos posted on your channel
And in starting it shows a message subscribe to your youtube channel
Note : - I am using a 128x 64 i2c display
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <YoutubeApi.h>
#include <ArduinoJson.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
//------- Replace the following! ------AIzaSyCjGIn49DFUJIyalvasGISGuLL4P2f2NGA
char ssid[] = "SmS_jiofi"; // your network SSID (name)
char password[] = "sms123458956"; // your network key
#define API_KEY "AIzaSyCjGIn49DFUJIyalvasGISGuLL4P2f2NGA" // your google apps API Token
#define CHANNEL_ID "UC7raRsx4ojx3cyXT3x9-PuQ" // makes up the url of channel
WiFiClientSecure client;
YoutubeApi api(API_KEY, client);
long subs = 0;
String chanelName = "Channel_Name";
unsigned long timeBetweenRequests = 3000;
unsigned long nextRunTime;
void setup(){
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
display.display();
delay(2000); // Pause for 2 seconds
// Clear the buffer
display.clearDisplay();
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(5,15);
display.println("WELCOME TO");
display.setTextSize(2);
display.setCursor(5,35);
display.println("TECHIESMS STUDIO");
display.display();
// Attempt to connect to Wifi network:
Serial.print("Connecting Wifi: ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
IPAddress ip = WiFi.localIP();
Serial.println(ip);
// Required if you are using ESP8266 V2.5 or above
client.setInsecure();
// If you want to enable some extra debugging
api._debug = true;
}
void loop() {
if (millis() > nextRunTime) {
if(api.getChannelStatistics(CHANNEL_ID))
{
Serial.println("---------Stats---------");
Serial.print("Subscriber Count: ");
Serial.println(api.channelStats.subscriberCount);
Serial.print("View Count: ");
Serial.println(api.channelStats.viewCount);
Serial.print("Video Count: ");
Serial.println(api.channelStats.videoCount);
// SUBSCRIBERS
display.clearDisplay();
display.setTextSize(2);
display.setCursor(5, 3);
display.print("SUBSCRIBER:");
display.println(api.channelStats.subscriberCount);
display.setCursor(0, 50);
display.println(chanelName);
display.display();
delay(timeBetweenRequests);
display.clearDisplay();
// VIEWS
display.setTextSize(2);
display.setCursor(5, 3);
display.println("VIWES:");
display.print(api.channelStats.viewCount);
display.setCursor(0, 50);
display.println(chanelName);
display.display();
delay(timeBetweenRequests);
display.clearDisplay();
// VIDEOS POSTED
display.setTextSize(2);
display.setCursor(5, 3);
display.print("VIDEO POSTED:");
display.print(api.channelStats.videoCount);
display.setTextSize(2);
display.setCursor(0, 50);
display.println(chanelName);
display.display();
delay(timeBetweenRequests);
}
nextRunTime = millis() + timeBetweenRequests;
}
}