I have tried using the thingspeak-arduino library and tested some of the examples:
#include <WiFi.h>
#include <WiFiClient.h>
#include <SPI.h>
#include <ThingSpeak.h>
char ssid[] = "Benok4G"; // your network SSID (name)
char pass[] = "password"; // your network password
WiFiClient client;
unsigned long myChannelNumber = 344468;
const char * myReadAPIKey = "xxxxxxxxx";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
WiFi.begin(ssid, pass);
ThingSpeak.begin(client);
}
void loop() {
// put your main code here, to run repeatedly:
float voltage = ThingSpeak.readFloatField(myChannelNumber, 1, myReadAPIKey);
Serial.print("Latest voltage is: ");
Serial.print(voltage);
Serial.println("V");
delay(30000);
}
When i run this code, I get this on the Serial Monitor.

Why is it 0.00? It's supposed to be 24.0
http://184.106.153.149/channels/344468/fields/1/last
Did I do something wrong? I am very frustrated because I've tried a lot of methods already just to fetch the data from ThingSpeak to my Arduino using ESP8266. I can send but when receiving I am really lost and confused.
WiFi.begineven successful?