i m using OAuth library for Twitter autentication,
here is the library: https://github.com/ReturnPath/contextio-arduino i have dadapted to wifishield
here is the code:
#include <EEPROM.h>
#include <SPI.h>
#include <Time.h>
//#include <Dhcp.h>
//#include <Dns.h>
#include <WiFi.h>
#include <OAuth.h>
//#include <sha1.h>
//#include <iterator>
#include <map>
uint8_t server_ip=(199,59,150,39);
char buffer[512];
OAuth twitter(buffer,sizeof(buffer));
char ssid[]="*********";
char pass[]="*****************";
const char server[]="api.twitter.com";
const char uri1[]="/1.1/direct_messages/new.json";
const static char consumer_key[] PROGMEM ="*************************";
const static char consumer_secret[] PROGMEM="*******************************************";
char*body = "PROBANDO MENSAJE DIRECTO";
WiFiClient client;
void setup()
{
WiFi.begin(ssid,pass);
Serial.begin(9600);
Serial.println("connecting to wlan ...");
delay(1000);
twitter.set_endpoint(PSTR("api.twitter.com"),PSTR("/1.1/direct_messages/new.json"), server_ip, 80, false);
twitter.set_client_id(consumer_key,consumer_secret);
twitter.set_account_id(PSTR("************************************"),PSTR("********************************************"));
twitter.set_account_id(256, 384);
if (twitter.is_ready())
{
Serial.println("twitter is ready");
std::map<const char *, const char *> *param;
char screen_name[]="**************";
(*param)["screen_name"] = screen_name;
if(twitter.post(server,uri1,param,body))
{
Serial.println("mensaje enviado");
};
}
else
{
Serial.println("bad connection");
}
}
void loop()
{
if(timeStatus()!= timeNotSet)
{
digitalClockDisplay();
}
if(timeStatus()!= timeNotSet)
{
digitalClockDisplay();
}
delay(60000);
}
void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
void digitalClockDisplay(){
// digital clock display of the time
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(dayStr(weekday()));
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(monthShortStr(month()));
Serial.print(" ");
Serial.print(year());
Serial.println();
}
when i compile it i have this error:
OAuthejemplo.cpp.o: In function
_Construct<std::pair<const char* const, const char*>, std::pair<const char* const, const char*> >': d:/etsit sistemas electronicos/arduino-1.0.3/hardware/tools/avr/lib/gcc/../../avr/include/stl_construct.h:48: undefined reference tooperator new(unsigned int, void*)'
any help please