I thought it might be nice to make Facebook Chat contacts’ information dialogs a little less sparse, so I had a quick crack at faking up their profile URL. (It relies on JIDs being of the form "-<digits>@chat.facebook.com", where https://www.facebook.com/profile.php?id=<digits> is their profile URL. There seems to be no way to get pretty https://www.facebook.com/<username> URLs.)
http://cgit.collabora.com/git/user/wjt/telepathy-gabble-wjt.git/commit/?h=facebook-url is my work in progress. It’s kind of tedious because right now the code that builds the ContactInfo structure doesn’t have access to the connection object to inspect the handle, or indeed to check whether we’re on a Facebook connection.
The other option would be to artificially insert a <URL/> element into the vCard, which might be neater maybe?
I’m not really working on this, it was just on a whim.
In a perfect world, Facebook's server could include this <URL> element directly. I sent a message to the "Facebook XMPP Developer Relations" group suggesting that.
My branch has gone away. I don't know when/why I deleted it.
I note that as of 0.15.1, courtesy of <https://bugs.freedesktop.org/show_bug.cgi?id=41789>, Facebook contacts' identifiers are exposed as Addressing1 contact attributes. Try:
gdbus call --session --dest org.freedesktop.Telepathy.Connection.gabble.jabber.will_2ejoseph_2ethompson_40chat_2efacebook_2ecom_2fb756e715 --object-path /org/freedesktop/Telepathy/Connection/gabble/jabber/will_2ejoseph_2ethompson_40chat_2efacebook_2ecom_2fb756e715 --method org.freedesktop.Telepathy.Connection.Interface.ContactList.GetContactListAttributes '["org.freedesktop.Telepathy.Connection.Interface.Addressing1"]' true
and see all the x-facebook-id stuff in there.
So UIs that know about Facebook can cross-reference if they like.