diff options
author | Rob Bradford <rob@linux.intel.com> | 2010-06-16 13:57:10 +0100 |
---|---|---|
committer | Rob Bradford <rob@linux.intel.com> | 2010-06-16 13:59:41 +0100 |
commit | 49880783863519380f6ec21abcd81ce9cc486262 (patch) | |
tree | 53f3422d9d0aab0f5552f74b34a047a59d47a5ac | |
parent | f82c9af4e1bae1dfd1548d09a85d6f5d975fcbc4 (diff) | |
download | librest-49880783863519380f6ec21abcd81ce9cc486262.tar.gz |
flickr-proxy: Allow specifying the permissions required in the login url
-rw-r--r-- | examples/get-flickr-favorites.c | 2 | ||||
-rw-r--r-- | rest-extras/flickr-proxy.c | 8 | ||||
-rw-r--r-- | rest-extras/flickr-proxy.h | 4 |
3 files changed, 9 insertions, 5 deletions
diff --git a/examples/get-flickr-favorites.c b/examples/get-flickr-favorites.c index bbffab8..78451d9 100644 --- a/examples/get-flickr-favorites.c +++ b/examples/get-flickr-favorites.c @@ -124,7 +124,7 @@ main (int argc, char **argv) frob = g_strdup (rest_xml_node_find (root, "frob")->content); rest_xml_node_unref (root); - url = flickr_proxy_build_login_url (FLICKR_PROXY (proxy), frob); + url = flickr_proxy_build_login_url (FLICKR_PROXY (proxy), frob, "read"); g_print ("Go to %s to authorise me and then press any key.\n", url); getchar (); diff --git a/rest-extras/flickr-proxy.c b/rest-extras/flickr-proxy.c index 079405a..d8b43e5 100644 --- a/rest-extras/flickr-proxy.c +++ b/rest-extras/flickr-proxy.c @@ -300,7 +300,9 @@ flickr_proxy_sign (FlickrProxy *proxy, GHashTable *params) } char * -flickr_proxy_build_login_url (FlickrProxy *proxy, const char *frob) +flickr_proxy_build_login_url (FlickrProxy *proxy, + const char *frob, + const char *perms) { SoupURI *uri; GHashTable *params; @@ -312,8 +314,8 @@ flickr_proxy_build_login_url (FlickrProxy *proxy, const char *frob) params = g_hash_table_new (g_str_hash, g_str_equal); g_hash_table_insert (params, "api_key", proxy->priv->api_key); - /* TODO: parameter */ - g_hash_table_insert (params, "perms", "read"); + g_hash_table_insert (params, "perms", (gpointer)perms); + if (frob) g_hash_table_insert (params, "frob", (gpointer)frob); diff --git a/rest-extras/flickr-proxy.h b/rest-extras/flickr-proxy.h index 736056c..550b864 100644 --- a/rest-extras/flickr-proxy.h +++ b/rest-extras/flickr-proxy.h @@ -85,7 +85,9 @@ void flickr_proxy_set_token (FlickrProxy *proxy, const char *token); char * flickr_proxy_sign (FlickrProxy *proxy, GHashTable *params); -char * flickr_proxy_build_login_url (FlickrProxy *proxy, const char *frob); +char * flickr_proxy_build_login_url (FlickrProxy *proxy, + const char *frob, + const char *perms); gboolean flickr_proxy_is_successful (RestXmlNode *root, GError **error); |