views:

764

answers:

7

Today I realized that FB Connect does not return the proxied_email field in about 4 out of 5 times. (I can reproduce this with a single users repeatedly, so this obviously does not have anything to do with privacy options or permissions)

It definitely worked fine last week ago.

I could not find any official info that this field is going to be removed or anything, so... Does anybody else have this problem? Is there anything I am doing wrong that could be causing this behavior? Or is Facebook just having a bad day?

A: 

I'm going to posit that it's just one of those Facebook days. There is supposed to be a big change this month that will change the way developers interact with users. Notifications will be removed, etc. Facebook is going to allow full access to a user's real email address (with the user's permission), and remove the proxied email system.

However, the official word is that the email proxy system should still be supported. According to http://wiki.developers.facebook.com/index.php/Roadmap%5FEmail, users who have already granted proxy email permissions will continue to be available. However, it doesn't say anything about new users, so perhaps they have removed the email addresses for those that did not grant permission?

I noticed that they put the new privacy controls in place today, so it could be they made a change to the proxy at this time.

zombat
A: 

The same thing happened to me too. In the Facebook Connect JS API the proxied_email works about 80% of the time, but in the Facebook Developer Toolkit (for .NET) it barely works at all (which is strange cause I think they use the same facebook api under the hood).

This probably could have something to do with the somewhat failed privacy settings introduced the other day, as the whole proxy email functionality is related to facebook privacy (as zombat mentions above)? According to http://developers.facebook.com/live%5Fstatus.php, the API seems to be under a fair amount of stress at the moment, cause it's acting a bit sluggish.

Do these things happen often? Where the facebook team either decide to just change the implementation overnight or where the service more or less nosedives?

Fred
A: 

It seems that the data returned by users_getInfo doesn't longer contains the proxied_email value

You can't circumvent the problem with FQL:

$aResult = $facebook->api_client->fql_query("SELECT proxied_email FROM user WHERE uid=$fbUid");
$sFbMail = $aResult[0]['proxied_email'];
Madarco
A: 

I did the following quick fix:

$personArray = $facebook->api_client->users_getInfo( $fb_config->user_id, "last_name, first_name, birthday, hometown_location, current_location, is_app_user, proxied_email" );
$email = $personArray[0]['proxied_email'];
if(empty($email)){
    echo 'Proxied email was not retreived. Trying fql query...';
    $facebookFQLResultXml = $facebook->api_client->fql_query("SELECT proxied_email FROM user WHERE uid=".$fb_config->user_id);
    $email = $facebookFQLResultXml['proxied_email'];
}
Marco A. Ortega
A: 

I'm using the Facebook .NET Developer Toolkit and think it's just a bit buggy, which is why it didn't always work. In the end I also worked around the problem using FQL which worked really well (with a touch of XPath)

Fred
A: 

I'm the opposite, having authorized the email usage, the email (using FQL in both JS and PHP) almost all the times returns the proxied email address. Any clue?

Sandro Franchi
A: 

proxied_email seems to be unavailable for apps since 2010-04-20 , the solution with fql dont work with my app

ad34

related questions