diff options
author | Mickaƫl Thomas <mickael9@gmail.com> | 2017-02-23 21:27:04 +0100 |
---|---|---|
committer | dx <dx@dxzone.com.ar> | 2017-02-23 21:42:17 -0300 |
commit | 3e8dd702c65c8b374e30b41f9886466325dae671 (patch) | |
tree | de37f9eb76a4131c2dbcaa83dfe88b00c0b586a0 | |
parent | bc8e710b6c52faa38f89b0496cfb59c8d5c71721 (diff) | |
download | bitlbee-facebook-3e8dd702c65c8b374e30b41f9886466325dae671.tar.gz bitlbee-facebook-3e8dd702c65c8b374e30b41f9886466325dae671.tar.bz2 bitlbee-facebook-3e8dd702c65c8b374e30b41f9886466325dae671.tar.xz |
Extract target url from fbrpc:// URLs
Those URLs seem to be generated when the Android share feature is used.
Fixes #97
-rw-r--r-- | facebook/facebook-api.c | 6 | ||||
-rw-r--r-- | facebook/facebook-api.h | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/facebook/facebook-api.c b/facebook/facebook-api.c index 0e7d3a3..d9d4486 100644 --- a/facebook/facebook-api.c +++ b/facebook/facebook-api.c @@ -1353,7 +1353,11 @@ fb_api_xma_parse(FbApi *api, const gchar *body, JsonNode *root, GError **error) if (g_strcmp0(str, "ExternalUrl") == 0) { prms = fb_http_values_new(); fb_http_values_parse(prms, url, TRUE); - text = fb_http_values_dup_str(prms, "u", NULL); + if (g_str_has_prefix(url, FB_API_FBRPC_PREFIX)) { + text = fb_http_values_dup_str(prms, "target_url", NULL); + } else { + text = fb_http_values_dup_str(prms, "u", NULL); + } fb_http_values_free(prms); } else { text = g_strdup(url); diff --git a/facebook/facebook-api.h b/facebook/facebook-api.h index cb7467f..b6a2812 100644 --- a/facebook/facebook-api.h +++ b/facebook/facebook-api.h @@ -68,6 +68,13 @@ #define FB_API_WHOST "https://www.facebook.com" /** + * FB_API_FBRPC_PREFIX + * + * The fbrpc URL prefix used in links shared from the mobile app. + */ +#define FB_API_FBRPC_PREFIX "fbrpc://facebook/nativethirdparty" + +/** * FB_API_KEY: * * The Facebook API key. |