Gathering Facebook Identities from Email

Looking at the announcement of the Facebook Graph API from Facebook F8 it seems like it will be a little easier to work with the Facebook system.

In Raindrop we already have some integration with Facebook in order to identify emails coming from the Facebook system and help you filter them out. But there is a lot more that can be done to help keep your email, Facebook, and other contacts in a cohesive form.

So here’s a quick code example written in Python to grab Facebook identities from emails sent by Facebook. This could be used to gather Facebook identities and then possibly merge those with twitter and email contacts.

First we need to import a couple things.

import email, json, urllib2

Then we’ll need to grab an email message.  I used Thunderbird to save a Facebook notification email message as an EML file locally, I called that file ‘facebook.eml’ as you can see below.

msg = email.message_from_file(open('facebook.eml'))

Now we have a parsed email message msg object and we want to look for the X-Facebook-Notify header in the email so we can extract what happened.

fb_notifiy = [tuple(t.strip().split("=")) for t in \
              msg.get('X-Facebook-Notify').split(";")]

The object fb_notify contains tuples of information about the type of notification.  Here is an example of an object you might see.

[('event_wall',),
 ('eid', '14102494623'),
 ('from', '21602578'),
 ('mailid', '12bf28cG149a112G63016bG21') ]

Using fb_notify we’ll do a really simple grab of the from attribute because that is what is going to be publicly available from the Facebook Graph.

from_identity = json.load(urllib2.urlopen("http://graph.facebook.com/%s" % fb_notify[2][1]))

Here’s an example from_identity object:

{u'first_name': u'Bryan',
 u'last_name': u'Clark',
 u'id': u'21602578',
 u'name': u'Bryan Clark' }

The from_identity can be used to more clearly identify who Facebook is sending this notification on behalf of and we could try merging this Facebook identity with other identities we already have in our contacts.

I saved all this code into this gist if you want to take a look at it in code only form with syntax highlighting.

Quick Filtering in Thunderbird

Today we’ve released a new add-on the Mozilla Messaging team has been working on for a little while, the Quick Filter.  A new single folder search and filter system that will work alongside our previously released Thunderbird global search.

The Quick Filter add-on is reminiscent of the old quick search system of Thunderbird 2.0  but we’ve improved it in a number of areas.  Here’s how it’s changed from the 2.0 days:

Search Message Types

Unread, Starred, Contact, Tags, Attachments are all types of searches you can toggle to turn on.

A Tag search presents the array of possible tags to help you filter down even more.

Filter Results Count

If your search returns a lot of results we let you know the search bar will let you know how many messages match.

And if even if the search query is too strict and there are no results the Quick Filter will display this inline.

Better Search Type Options

The old quick search tended confuse people because the search type settings were hidden in this popup menu:

In the new Quick Filter we’ve brought those options out every time you focus on the search entry so you always know what kind of search you are performing.

Space Saving Options

Last but not least we’ve worked hard to make sure that if you are using the Quick Filter on a smaller screen it converts down to icons only mode automatically.

Note for Techies: This change was made possible by the CSS  @media rule

Try it out!

You’ll need to be running Thunderbird 3 and then from the Add-on Manager (Tools -> Add-on)  search for “quick filter”.

Give Feedback!

We’re looking for feedback before this lands in Thunderbird as a core feature so any praise and/or comments you have would be greatly appreciated.  Leave your comments in the Quick Filter add-on reviews.

Something you might have already noticed is that this is a separate toolbar just for quick filtering but you can show or hide it as you need it.  Try out the keyboard shortcut and see how it feels.

Thanks for taking a look!

aboot

This is the blog personality of Bryan Clark. I'm a designer in a world of open source. This blog reflects mostly writing about Design, Open Source, Economics, Beer, Wine, and Dogs. There's more information about me on this site or you can contact me directly at clarkbw@gmail.com.

scategories