implement twitter

This commit is contained in:
Andreas Frisch 2017-04-14 18:10:44 +02:00
parent 60f540ab30
commit cdc0d2f625
2 changed files with 36 additions and 0 deletions

View file

@ -95,6 +95,7 @@ struct _PhotoBoothPrivate
gchar *imgur_description;
GThread *upload_thread;
GMutex upload_mutex;
gboolean do_twitter;
PhotoBoothLed *led;
};
@ -272,6 +273,7 @@ static void photo_booth_init (PhotoBooth *pb)
priv->imgur_access_token = NULL;
priv->imgur_description = NULL;
priv->upload_thread = NULL;
priv->do_twitter = TRUE;
priv->state_change_watchdog_timeout_id = 0;
priv->led = photo_booth_led_new ();
@ -2111,6 +2113,39 @@ void photo_booth_post_thread_func (PhotoBooth* pb)
curl_formfree (post);
g_free (filename);
GST_DEBUG ("curl_easy_perform() finished. response='%s'", buf->str);
if (priv->do_twitter)
{
JsonParser *parser;
JsonNode *root;
JsonReader *reader;
GError *error;
const char *link_url;
parser = json_parser_new ();
error = NULL;
json_parser_load_from_data (parser, buf->str, buf->len, &error);
if (error)
{
GST_WARNING ("Unable to parse '%s': %s", buf->str, error->message);
g_error_free (error);
g_object_unref (parser);
return;
}
root = json_parser_get_root (parser);
reader = json_reader_new (root);
json_reader_read_member (reader, "link");
link_url = json_reader_get_string_value (reader);
GST_INFO ("imgur uploaded photo url: %s", link_url);
/* manipulate the object tree and then exit */
g_object_unref (parser);
}
g_string_free (buf, TRUE);
}
g_mutex_unlock (&priv->upload_mutex);

View file

@ -18,6 +18,7 @@
#include <glib-unix.h>
#include <glib-object.h>
#include <json-glib/json-glib.h>
#include <gtk/gtk.h>
#include <gst/gst.h>
#include <gphoto2/gphoto2.h>