<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>duncanMgunn.com - Facebook</title>
    <link>http://www.duncangunn.me.uk/dasblog/</link>
    <description />
    <language>en-us</language>
    <copyright>Duncan M Gunn</copyright>
    <lastBuildDate>Thu, 27 May 2010 09:06:04 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>dasblog@example.com</managingEditor>
    <webMaster>dasblog@example.com</webMaster>
    <item>
      <trackback:ping>http://www.duncangunn.me.uk/dasblog/Trackback.aspx?guid=a2b75f34-420b-4ceb-b5ec-d13a8c53f957</trackback:ping>
      <pingback:server>http://www.duncangunn.me.uk/dasblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.duncangunn.me.uk/dasblog/PermaLink,guid,a2b75f34-420b-4ceb-b5ec-d13a8c53f957.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.duncangunn.me.uk/dasblog/CommentView,guid,a2b75f34-420b-4ceb-b5ec-d13a8c53f957.aspx</wfw:comment>
      <wfw:commentRss>http://www.duncangunn.me.uk/dasblog/SyndicationService.asmx/GetEntryCommentsRss?guid=a2b75f34-420b-4ceb-b5ec-d13a8c53f957</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Turns out this was a Facebook bug after
all.<br /><br />
We switched the Firewall back to the way it was, without changing the code, and hey
presto - all is well.<br /><br />
Not only that but the second step (email invites) was not displayed.<br /><br />
FB - All your base are belong to us.<br /><br /><p></p><img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=a2b75f34-420b-4ceb-b5ec-d13a8c53f957" /></body>
      <title>Facebook Cross Domain Communication and F5 Firewall/Load Balancer Part 2</title>
      <guid isPermaLink="false">http://www.duncangunn.me.uk/dasblog/PermaLink,guid,a2b75f34-420b-4ceb-b5ec-d13a8c53f957.aspx</guid>
      <link>http://www.duncangunn.me.uk/dasblog/2010/05/27/FacebookCrossDomainCommunicationAndF5FirewallLoadBalancerPart2.aspx</link>
      <pubDate>Thu, 27 May 2010 09:06:04 GMT</pubDate>
      <description>Turns out this was a Facebook bug after all.&lt;br&gt;
&lt;br&gt;
We switched the Firewall back to the way it was, without changing the code, and hey
presto - all is well.&lt;br&gt;
&lt;br&gt;
Not only that but the second step (email invites) was not displayed.&lt;br&gt;
&lt;br&gt;
FB - All your base are belong to us.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=a2b75f34-420b-4ceb-b5ec-d13a8c53f957" /&gt;</description>
      <comments>http://www.duncangunn.me.uk/dasblog/CommentView,guid,a2b75f34-420b-4ceb-b5ec-d13a8c53f957.aspx</comments>
      <category>Facebook</category>
    </item>
    <item>
      <trackback:ping>http://www.duncangunn.me.uk/dasblog/Trackback.aspx?guid=e5237e72-b63f-44eb-928a-b6e5ddf6c45a</trackback:ping>
      <pingback:server>http://www.duncangunn.me.uk/dasblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.duncangunn.me.uk/dasblog/PermaLink,guid,e5237e72-b63f-44eb-928a-b6e5ddf6c45a.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.duncangunn.me.uk/dasblog/CommentView,guid,e5237e72-b63f-44eb-928a-b6e5ddf6c45a.aspx</wfw:comment>
      <wfw:commentRss>http://www.duncangunn.me.uk/dasblog/SyndicationService.asmx/GetEntryCommentsRss?guid=e5237e72-b63f-44eb-928a-b6e5ddf6c45a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">As you can tell, this is going to be a
nice and easy topic.<br /><br />
Got the go-ahead to deploy Facebook Connect to the site I'm working on, everything
certified "Works on Dev" so go to push it to the UAT servers.<br /><br />
This environment is load-balanced and has an F5 firewall sitting in front of it, and
proceeded to fall over in spectacular fashion.<br /><br />
The bizarre thing is that FireFox and Chrome are happy, while IE (surprise) throws
back the mystic error "Redirect Required" with content of 
<br /><br /><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: 'lucida grande',tahoma,verdana,arial,sans-serif; font-size: 11px; line-height: 15px; text-align: left;">&lt;meta
http-equiv="refresh" content="0; url=[MY URL]&gt;<br /><br /></span></span>Hmmm.<br /><br /><br /><h3>Facebook xd_receive and Cross Domain Communication
</h3><br />
Facebook Cross Domain comms is based on using IFrames to transport data, see <a href="http://msdn.microsoft.com/en-us/library/bb735305.aspx">http://msdn.microsoft.com/en-us/library/bb735305.aspx</a> for
a full explanation.<br /><br /><br />
On investigation of the Big IP logs, we could see the raw request was flagging a Cross-Domain
Scripting attack for the IE request (but not for the FF request).  
<br /><br />
My gut-feel is that this could be as a result of an IE security patch which puts a
whole lot of extra stuff in the Form variables which then confuses Big IP, but this
is a <b>complete and utter guess</b>.<br /><br />
The solution?  Patch a hole in the Firewall.  So not really a solution I'm
afraid.<br /><p></p><img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=e5237e72-b63f-44eb-928a-b6e5ddf6c45a" /></body>
      <title>Facebook Cross Domain Communication and F5 Firewall/Load Balancer</title>
      <guid isPermaLink="false">http://www.duncangunn.me.uk/dasblog/PermaLink,guid,e5237e72-b63f-44eb-928a-b6e5ddf6c45a.aspx</guid>
      <link>http://www.duncangunn.me.uk/dasblog/2010/05/26/FacebookCrossDomainCommunicationAndF5FirewallLoadBalancer.aspx</link>
      <pubDate>Wed, 26 May 2010 14:16:59 GMT</pubDate>
      <description>As you can tell, this is going to be a nice and easy topic.&lt;br&gt;
&lt;br&gt;
Got the go-ahead to deploy Facebook Connect to the site I'm working on, everything
certified "Works on Dev" so go to push it to the UAT servers.&lt;br&gt;
&lt;br&gt;
This environment is load-balanced and has an F5 firewall sitting in front of it, and
proceeded to fall over in spectacular fashion.&lt;br&gt;
&lt;br&gt;
The bizarre thing is that FireFox and Chrome are happy, while IE (surprise) throws
back the mystic error "Redirect Required" with content of 
&lt;br&gt;
&lt;br&gt;
&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: 'lucida grande',tahoma,verdana,arial,sans-serif; font-size: 11px; line-height: 15px; text-align: left;"&gt;&amp;lt;meta
http-equiv="refresh" content="0; url=[MY URL]&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;Hmmm.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;Facebook xd_receive and Cross Domain Communication
&lt;/h3&gt;
&lt;br&gt;
Facebook Cross Domain comms is based on using IFrames to transport data, see &lt;a href="http://msdn.microsoft.com/en-us/library/bb735305.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb735305.aspx&lt;/a&gt; for
a full explanation.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
On investigation of the Big IP logs, we could see the raw request was flagging a Cross-Domain
Scripting attack for the IE request (but not for the FF request).&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
My gut-feel is that this could be as a result of an IE security patch which puts a
whole lot of extra stuff in the Form variables which then confuses Big IP, but this
is a &lt;b&gt;complete and utter guess&lt;/b&gt;.&lt;br&gt;
&lt;br&gt;
The solution?&amp;nbsp; Patch a hole in the Firewall.&amp;nbsp; So not really a solution I'm
afraid.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=e5237e72-b63f-44eb-928a-b6e5ddf6c45a" /&gt;</description>
      <comments>http://www.duncangunn.me.uk/dasblog/CommentView,guid,e5237e72-b63f-44eb-928a-b6e5ddf6c45a.aspx</comments>
      <category>Facebook</category>
      <category>Web Design</category>
    </item>
    <item>
      <trackback:ping>http://www.duncangunn.me.uk/dasblog/Trackback.aspx?guid=5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb</trackback:ping>
      <pingback:server>http://www.duncangunn.me.uk/dasblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.duncangunn.me.uk/dasblog/PermaLink,guid,5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.duncangunn.me.uk/dasblog/CommentView,guid,5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb.aspx</wfw:comment>
      <wfw:commentRss>http://www.duncangunn.me.uk/dasblog/SyndicationService.asmx/GetEntryCommentsRss?guid=5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">So you want to write a Facebook app? 
The good news is that once you get going, it's actually really straightforward. 
The bad news is that it's an uphill struggle to get going in the first place.<br /><br />
Unfortunately for the ASP.NET developer, there is no official wrapper for the Facebook
API.  There are a couple available, but as you can see by the reviews they are
far from perfect.  
<br /><br />
However, we can still create a Facebook application without needing the API. 
Okay, we won't be able to do a huge amount with it, but this is a starter tutorial
and we'll get to the more advanced topics later.<br /><br />
Note:  I'm pushed for time at the moment, so will add some screenshots later,
which should help to explain things a bit better.  Picture paints a thousand
words and all that.<br /><br /><h2>The Basics - Facebook Connect and Facebook Applications
</h2><br />
There are two completely different concepts when dealing with Facebook applications.  
<br /><br />
Facebook Connect - integrate a user's Facebook profile information (name, likes/dislikes,
wall, dodgy profile pictures) into your existing site.  A good example of this
is http://welcometofc.com<br /><br />
Facebook Canvas Application - this is an application that lives within Facebook -
however IT IS NOT HOSTED WITHIN FACEBOOK.  You get to your app via http://apps.facebook.com/[MYAPP]
- no surprises that this has to be unique.<br /><br />
Facebook needs to be able to access your site, so there can be no localhost development
I'm afraid.  You need to put the page on a publicly accessible server.<br /><br /><h2>Create your Facebook App
</h2>
Creating both Connect and Canvas apps involve the same process.  In fact you
can have BOTH a Connect AND Canvas app configured within the same application configuration.<br /><br />
To do this, you'll need to add the Developer app, at <a href="http://www.facebook.com/developers/">http://www.facebook.com/developers/</a><br /><br />
Click Set up a New Application.<br /><br />
You should now see the Application Settings screen.  The main configuration is
within the Edit Settings option.  
<br /><br />
Basic - Contains your API Key.  YOU NEED THIS.  You add this to your web
site to confirm that your web site can talk to this app.  Keep it secret. 
Keep it safe.  Not to be confused with your Application Secret.<br />
Authentication, Profiles, Widgets, Advanced, Migrations - Not essential.<br />
Canvas - This is where you set up your Canvas URL - if you are creating a Canvas app
only - and the callback URL, which is the page that Facebook calls which is by default
hosted within apps.facebook.com/[MYAPP].  More on this later.<br />
Connect - Configure how your web site connects with Facebook.  You only need
this if you are doing Facebook Connect, it is not required if you have a stand-alone
Facebook Canvas application.<br /><br /><h2>Facebook Connect
</h2>
To enable your site to connect to Facebook, you need to do 3 things:<br /><br />
 1 - Enable Cross Domain Posting - you do this by including a couple of javascript
files that you get from Facebook.  More detail to follow.<br />
 2 - Initialise your Facebook application in client script<br />
 3 - Import the FBML namespace.<br /><br />
That's about it.  Of course, you'll want to *use* some FBML, but more on this
later.<br /><br />
I'm taking it that by now you have configured your Facebook Connect application in
Facebook.<br /><br />
Replace the &lt;html&gt; tag in your .aspx page with the following:<br /><br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"&gt; 
<br /><br />
This imports the namespace which contains the FBML, so that your browser doesn't fall
over before these have been parsed by the facebook javascript.<br /><br />
Add the following javascript includes to the bottom of your page, just above the closing
&lt;body&gt; tag:<br /><br />
&lt;script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"
type="text/javascript"&gt;&lt;/script&gt;<br />
FB.init("[YOUR API KEY]","/assets/xd_receiver.htm",{"ifUserConnected" : showLoggedInState,
"ifUserNotConnected":showLoggedOutState});<br /><br />
/assets/xd_receiver.htm is a relative link from where this page runs to the Cross-Domain
file you get from facebook.  Get it from here - <a href="http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel">http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel</a><br /><br />
This bypasses the Single Origin Policy and allows Facebook to interact with your page
and vice versa.<br /><br /><br />
Add the following to your .aspx page:<br /><br />
                        
&lt;div id="loggedOut" style="display:none"&gt;<br />
                     
&lt;fb:login-button length="long" size="large" onlogin="showLoggedInState();return
false;"&gt;Invite Friends with Facebook&lt;/fb:login-button&gt;<br />
                 
&lt;/div&gt;<br />
                 
&lt;div id="loggedIn" style="display:none;"&gt;<br />
                     
&lt;div id="user-box"&gt;<br />
                         
&lt;span&gt;<br />
                             
&lt;div id="profile-pic"&gt;<br />
                                 
&lt;fb:profile-pic uid='loggedinuser' facebook-logo='true'&gt;&lt;/fb:profile-pic&gt;<br />
                             
&lt;/div&gt;<br />
                             
&lt;div id="welcome-text"&gt;<br />
                             
Welcome, &lt;fb:name uid='loggedinuser' useyou='false'&gt;&lt;/fb:name&gt;.&lt;br
/&gt; 
<br />
                             
Invite friends with &lt;a id="lnkShare7" href="#share7" name="modal" onclick="return
false;"&gt;Facebook Connect&lt;/a&gt;.<br />
                             
&lt;/div&gt;<br />
                         
&lt;/span&gt;<br />
                     
&lt;/div&gt;<br />
                 
&lt;/div&gt;<br /><br />
           &lt;!-- facebook multi
friend selector overlay starts --&gt;<br /><br />
          &lt;div id="facebook-wrapper"&gt;<br />
              &lt;div
id="share7" class="window windowfixed"&gt;<br />
                 
&lt;p style="margin-left:10px;"&gt;<br />
                     
Invite a friend to use this application...<br />
                 
&lt;/p&gt;<br />
                 
&lt;p id="multi-friend-selector-container"&gt;<br />
                     
&lt;fb:serverfbml&gt;<br />
                     
&lt;script type="text/fbml"&gt;<br />
                     
&lt;fb:fbml&gt;<br />
                         
&lt;fb:request-form method="POST" action="&lt;%= FacebookFormAction %&gt;"<br />
                                     
invite="true" type="&lt;%= FacebookApplicationName %&gt;"<br />
                                     
content="You have been invited to the [MY APPLICATION] application. &lt;%= ApplicationsFbml
%&gt; "&gt; 
<br />
                                     
&lt;fb:multi-friend-selector bypass="cancel"<br />
                                         
showborder="false" rows="3" cols="4" max="35" actiontext="Invite your friends to use
this application." /&gt; 
<br />
                         
<br />
                     
&lt;/fb:request-form&gt;<br />
                     
&lt;/fb:fbml&gt;<br />
                     
&lt;/script&gt;<br />
                     
&lt;/fb:serverfbml&gt;<br />
                 
&lt;/p&gt;<br />
              &lt;/div&gt;<br />
          &lt;/div&gt;<br /><br />
where FacebookFormAction is the URL of the current page, and FacebookApplicationName
is the name that you want to appear in the Facebook Connect dialog.<br /><br />
What this will do is display the Connect with Facebook button if the user is logged
out.<br /><br />
When the user is logged in it will display the user's FB name and profile picture,
and allow the user to share this application with their friends on Facebook.<br /><br />
Notice the FBML markup; you can find a complete list at <a href="http://wiki.developers.facebook.com/index.php/FBML">http://wiki.developers.facebook.com/index.php/FBML</a><br /><br /><h2>Facebook Canvas 
</h2>
That was Facebook Connect.  If you want your site to be hosted WITHIN Facebook,
then you need to create a Facebook Canvas application.<br /><br />
There are two types: FBML and IFrame.  From what I can tell, IFrame is now the
recommended choice, as it gives you more freedom, and you should be able to use libraries
such as jQuery without much trouble.  See 
<br /><a href="http://www.ccheever.com/blog/?p=10">http://www.ccheever.com/blog/?p=10</a><br /><br />
Go to the Canvas tab of your application settings in Facebook.<br /><br />
Canvas Page URL - this is a unique URL that identifies your application of FB.<br /><br />
Canvas Callback URL - this is the page that is hoovered up by Facebook and then displayed
within the IFrame.<br /><br />
Post-Authorize Redirect URL - you can leave this blank; it is optional.<br /><br />
Don't worry about the other settings for now.<br /><br />
If you create the following .aspx page at your Canvas Callback URL:<br /><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br /><br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"&gt;<br /><br />
&lt;script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"
type="text/javascript"&gt;&lt;/script&gt;<br /><br />
&lt;body class="bg-white"&gt;<br /><br />
[Your website content here]<br /><br />
    &lt;script type="text/javascript"&gt;<br />
    FB_RequireFeatures(["XFBML"], function() {<br />
        FB.Facebook.init("[YOUR APP KEY]", "channel/xd_receiver.htm");<br />
    });<br />
&lt;/script&gt;<br /><br />
&lt;/body&gt;<br /><br />
&lt;/html&gt;<br /><br />
You can also use FBML in this page, to pull through profile specific information.<br /><br /><br />
And that's about it.  These are of course only the basics, but you should now
be able to create your own applications within Facebook, or integrate Facebook into
your own site to provide an enhanced user experience.<br /><br />
As you may have noticed, I haven't mentioned the .NET Facebook API wrappers - we didn't
need them as we didn't do a whole lot of Facebook integration.  These wrappers
are notoriously unreliable, but take a look at <a href="http://facebooktoolkit.codeplex.com/">http://facebooktoolkit.codeplex.com/</a> as
this seems to be well maintained.<br /><br /><br /><br /><p></p><img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb" /></body>
      <title>ASP.NET Facebook tutorial - Beginner Essentials</title>
      <guid isPermaLink="false">http://www.duncangunn.me.uk/dasblog/PermaLink,guid,5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb.aspx</guid>
      <link>http://www.duncangunn.me.uk/dasblog/2010/04/14/ASPNETFacebookTutorialBeginnerEssentials.aspx</link>
      <pubDate>Wed, 14 Apr 2010 14:35:21 GMT</pubDate>
      <description>So you want to write a Facebook app?&amp;nbsp; The good news is that once you get going, it's actually really straightforward.&amp;nbsp; The bad news is that it's an uphill struggle to get going in the first place.&lt;br&gt;
&lt;br&gt;
Unfortunately for the ASP.NET developer, there is no official wrapper for the Facebook
API.&amp;nbsp; There are a couple available, but as you can see by the reviews they are
far from perfect.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
However, we can still create a Facebook application without needing the API.&amp;nbsp;
Okay, we won't be able to do a huge amount with it, but this is a starter tutorial
and we'll get to the more advanced topics later.&lt;br&gt;
&lt;br&gt;
Note:&amp;nbsp; I'm pushed for time at the moment, so will add some screenshots later,
which should help to explain things a bit better.&amp;nbsp; Picture paints a thousand
words and all that.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;The Basics - Facebook Connect and Facebook Applications
&lt;/h2&gt;
&lt;br&gt;
There are two completely different concepts when dealing with Facebook applications.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Facebook Connect - integrate a user's Facebook profile information (name, likes/dislikes,
wall, dodgy profile pictures) into your existing site.&amp;nbsp; A good example of this
is http://welcometofc.com&lt;br&gt;
&lt;br&gt;
Facebook Canvas Application - this is an application that lives within Facebook -
however IT IS NOT HOSTED WITHIN FACEBOOK.&amp;nbsp; You get to your app via http://apps.facebook.com/[MYAPP]
- no surprises that this has to be unique.&lt;br&gt;
&lt;br&gt;
Facebook needs to be able to access your site, so there can be no localhost development
I'm afraid.&amp;nbsp; You need to put the page on a publicly accessible server.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Create your Facebook App
&lt;/h2&gt;
Creating both Connect and Canvas apps involve the same process.&amp;nbsp; In fact you
can have BOTH a Connect AND Canvas app configured within the same application configuration.&lt;br&gt;
&lt;br&gt;
To do this, you'll need to add the Developer app, at &lt;a href="http://www.facebook.com/developers/"&gt;http://www.facebook.com/developers/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Click Set up a New Application.&lt;br&gt;
&lt;br&gt;
You should now see the Application Settings screen.&amp;nbsp; The main configuration is
within the Edit Settings option.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Basic - Contains your API Key.&amp;nbsp; YOU NEED THIS.&amp;nbsp; You add this to your web
site to confirm that your web site can talk to this app.&amp;nbsp; Keep it secret.&amp;nbsp;
Keep it safe.&amp;nbsp; Not to be confused with your Application Secret.&lt;br&gt;
Authentication, Profiles, Widgets, Advanced, Migrations - Not essential.&lt;br&gt;
Canvas - This is where you set up your Canvas URL - if you are creating a Canvas app
only - and the callback URL, which is the page that Facebook calls which is by default
hosted within apps.facebook.com/[MYAPP].&amp;nbsp; More on this later.&lt;br&gt;
Connect - Configure how your web site connects with Facebook.&amp;nbsp; You only need
this if you are doing Facebook Connect, it is not required if you have a stand-alone
Facebook Canvas application.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Facebook Connect
&lt;/h2&gt;
To enable your site to connect to Facebook, you need to do 3 things:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;1 - Enable Cross Domain Posting - you do this by including a couple of javascript
files that you get from Facebook.&amp;nbsp; More detail to follow.&lt;br&gt;
&amp;nbsp;2 - Initialise your Facebook application in client script&lt;br&gt;
&amp;nbsp;3 - Import the FBML namespace.&lt;br&gt;
&lt;br&gt;
That's about it.&amp;nbsp; Of course, you'll want to *use* some FBML, but more on this
later.&lt;br&gt;
&lt;br&gt;
I'm taking it that by now you have configured your Facebook Connect application in
Facebook.&lt;br&gt;
&lt;br&gt;
Replace the &amp;lt;html&amp;gt; tag in your .aspx page with the following:&lt;br&gt;
&lt;br&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"&amp;gt; 
&lt;br&gt;
&lt;br&gt;
This imports the namespace which contains the FBML, so that your browser doesn't fall
over before these have been parsed by the facebook javascript.&lt;br&gt;
&lt;br&gt;
Add the following javascript includes to the bottom of your page, just above the closing
&amp;lt;body&amp;gt; tag:&lt;br&gt;
&lt;br&gt;
&amp;lt;script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"
type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;
FB.init("[YOUR API KEY]","/assets/xd_receiver.htm",{"ifUserConnected" : showLoggedInState,
"ifUserNotConnected":showLoggedOutState});&lt;br&gt;
&lt;br&gt;
/assets/xd_receiver.htm is a relative link from where this page runs to the Cross-Domain
file you get from facebook.&amp;nbsp; Get it from here - &lt;a href="http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel"&gt;http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
This bypasses the Single Origin Policy and allows Facebook to interact with your page
and vice versa.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Add the following to your .aspx page:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;div id="loggedOut" style="display:none"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;fb:login-button length="long" size="large" onlogin="showLoggedInState();return
false;"&amp;gt;Invite Friends with Facebook&amp;lt;/fb:login-button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;div id="loggedIn" style="display:none;"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;div id="user-box"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;span&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;div id="profile-pic"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;fb:profile-pic uid='loggedinuser' facebook-logo='true'&amp;gt;&amp;lt;/fb:profile-pic&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;div id="welcome-text"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Welcome, &amp;lt;fb:name uid='loggedinuser' useyou='false'&amp;gt;&amp;lt;/fb:name&amp;gt;.&amp;lt;br
/&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Invite friends with &amp;lt;a id="lnkShare7" href="#share7" name="modal" onclick="return
false;"&amp;gt;Facebook Connect&amp;lt;/a&amp;gt;.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/span&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/div&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- facebook multi
friend selector overlay starts --&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="facebook-wrapper"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div
id="share7" class="window windowfixed"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;p style="margin-left:10px;"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Invite a friend to use this application...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/p&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;p id="multi-friend-selector-container"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;fb:serverfbml&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;script type="text/fbml"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;fb:fbml&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;fb:request-form method="POST" action="&amp;lt;%= FacebookFormAction %&amp;gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
invite="true" type="&amp;lt;%= FacebookApplicationName %&amp;gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
content="You have been invited to the [MY APPLICATION] application. &amp;lt;%= ApplicationsFbml
%&amp;gt; "&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;fb:multi-friend-selector bypass="cancel"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
showborder="false" rows="3" cols="4" max="35" actiontext="Invite your friends to use
this application." /&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/fb:request-form&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/fb:fbml&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/script&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/fb:serverfbml&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/p&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br&gt;
&lt;br&gt;
where FacebookFormAction is the URL of the current page, and FacebookApplicationName
is the name that you want to appear in the Facebook Connect dialog.&lt;br&gt;
&lt;br&gt;
What this will do is display the Connect with Facebook button if the user is logged
out.&lt;br&gt;
&lt;br&gt;
When the user is logged in it will display the user's FB name and profile picture,
and allow the user to share this application with their friends on Facebook.&lt;br&gt;
&lt;br&gt;
Notice the FBML markup; you can find a complete list at &lt;a href="http://wiki.developers.facebook.com/index.php/FBML"&gt;http://wiki.developers.facebook.com/index.php/FBML&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Facebook Canvas 
&lt;/h2&gt;
That was Facebook Connect.&amp;nbsp; If you want your site to be hosted WITHIN Facebook,
then you need to create a Facebook Canvas application.&lt;br&gt;
&lt;br&gt;
There are two types: FBML and IFrame.&amp;nbsp; From what I can tell, IFrame is now the
recommended choice, as it gives you more freedom, and you should be able to use libraries
such as jQuery without much trouble.&amp;nbsp; See 
&lt;br&gt;
&lt;a href="http://www.ccheever.com/blog/?p=10"&gt;http://www.ccheever.com/blog/?p=10&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Go to the Canvas tab of your application settings in Facebook.&lt;br&gt;
&lt;br&gt;
Canvas Page URL - this is a unique URL that identifies your application of FB.&lt;br&gt;
&lt;br&gt;
Canvas Callback URL - this is the page that is hoovered up by Facebook and then displayed
within the IFrame.&lt;br&gt;
&lt;br&gt;
Post-Authorize Redirect URL - you can leave this blank; it is optional.&lt;br&gt;
&lt;br&gt;
Don't worry about the other settings for now.&lt;br&gt;
&lt;br&gt;
If you create the following .aspx page at your Canvas Callback URL:&lt;br&gt;
&lt;br&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"
type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;body class="bg-white"&amp;gt;&lt;br&gt;
&lt;br&gt;
[Your website content here]&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; FB_RequireFeatures(["XFBML"], function() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FB.Facebook.init("[YOUR APP KEY]", "channel/xd_receiver.htm");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br&gt;
&amp;lt;/script&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;/body&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;/html&amp;gt;&lt;br&gt;
&lt;br&gt;
You can also use FBML in this page, to pull through profile specific information.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
And that's about it.&amp;nbsp; These are of course only the basics, but you should now
be able to create your own applications within Facebook, or integrate Facebook into
your own site to provide an enhanced user experience.&lt;br&gt;
&lt;br&gt;
As you may have noticed, I haven't mentioned the .NET Facebook API wrappers - we didn't
need them as we didn't do a whole lot of Facebook integration.&amp;nbsp; These wrappers
are notoriously unreliable, but take a look at &lt;a href="http://facebooktoolkit.codeplex.com/"&gt;http://facebooktoolkit.codeplex.com/&lt;/a&gt; as
this seems to be well maintained.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb" /&gt;</description>
      <comments>http://www.duncangunn.me.uk/dasblog/CommentView,guid,5d0b3a41-b1c8-47bb-8ab0-6e11f4c39ebb.aspx</comments>
      <category>Facebook</category>
    </item>
    <item>
      <trackback:ping>http://www.duncangunn.me.uk/dasblog/Trackback.aspx?guid=611ab9c4-171f-43d5-bc94-63288ece639e</trackback:ping>
      <pingback:server>http://www.duncangunn.me.uk/dasblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.duncangunn.me.uk/dasblog/PermaLink,guid,611ab9c4-171f-43d5-bc94-63288ece639e.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.duncangunn.me.uk/dasblog/CommentView,guid,611ab9c4-171f-43d5-bc94-63288ece639e.aspx</wfw:comment>
      <wfw:commentRss>http://www.duncangunn.me.uk/dasblog/SyndicationService.asmx/GetEntryCommentsRss?guid=611ab9c4-171f-43d5-bc94-63288ece639e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Integrating Facebook Connect with a website,
we had a problem where it would work fine under FF/Chrome etc but IE could not display
the FBML correctly.  It was still functioning, but instead of the Connect to
Facebook button appearing it was only able to render the text, and any other FB content
(such as fb:name) was not displayed.<br /><br />
The best part of the day was wasted until we found this <a href="http://axonflux.com/fb-connect-not-working-in-ie-f">http://axonflux.com/fb-connect-not-working-in-ie-f</a><br /><br />
Make sure that the page where your FB stuff lives has the following namespace declaration:<br /><br />
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"<br /><p></p><img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=611ab9c4-171f-43d5-bc94-63288ece639e" /></body>
      <title>Facebook Connect not working in IE - make sure the namespace declaration is correct</title>
      <guid isPermaLink="false">http://www.duncangunn.me.uk/dasblog/PermaLink,guid,611ab9c4-171f-43d5-bc94-63288ece639e.aspx</guid>
      <link>http://www.duncangunn.me.uk/dasblog/2010/04/06/FacebookConnectNotWorkingInIEMakeSureTheNamespaceDeclarationIsCorrect.aspx</link>
      <pubDate>Tue, 06 Apr 2010 15:14:19 GMT</pubDate>
      <description>Integrating Facebook Connect with a website, we had a problem where it would work fine under FF/Chrome etc but IE could not display the FBML correctly.&amp;nbsp; It was still functioning, but instead of the Connect to Facebook button appearing it was only able to render the text, and any other FB content (such as fb:name) was not displayed.&lt;br&gt;
&lt;br&gt;
The best part of the day was wasted until we found this &lt;a href="http://axonflux.com/fb-connect-not-working-in-ie-f"&gt;http://axonflux.com/fb-connect-not-working-in-ie-f&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Make sure that the page where your FB stuff lives has the following namespace declaration:&lt;br&gt;
&lt;br&gt;
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=611ab9c4-171f-43d5-bc94-63288ece639e" /&gt;</description>
      <comments>http://www.duncangunn.me.uk/dasblog/CommentView,guid,611ab9c4-171f-43d5-bc94-63288ece639e.aspx</comments>
      <category>Facebook</category>
      <category>Web Design</category>
    </item>
    <item>
      <trackback:ping>http://www.duncangunn.me.uk/dasblog/Trackback.aspx?guid=a4c62425-f1ee-4bec-8a28-b3b7dd80da3a</trackback:ping>
      <pingback:server>http://www.duncangunn.me.uk/dasblog/pingback.aspx</pingback:server>
      <pingback:target>http://www.duncangunn.me.uk/dasblog/PermaLink,guid,a4c62425-f1ee-4bec-8a28-b3b7dd80da3a.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.duncangunn.me.uk/dasblog/CommentView,guid,a4c62425-f1ee-4bec-8a28-b3b7dd80da3a.aspx</wfw:comment>
      <wfw:commentRss>http://www.duncangunn.me.uk/dasblog/SyndicationService.asmx/GetEntryCommentsRss?guid=a4c62425-f1ee-4bec-8a28-b3b7dd80da3a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I've been looking at <a href="http://developers.facebook.com/">developing
Facebook applications</a> recently, and came across this <a href="http://www.hanselman.com/blog/HanselminutesPodcast88WritingFaceBookApplicationsWithNETInterviewWithMelSampatAuthorOfOutSync.aspx">podcast
from Scott Hanselman</a>.<br /><br />
In it, he speaks to Mel Sampat, who has created a great application which synchronises
your Facebook Friends with your Outlook Contacts, pulling down the Profile Photo. 
You can then sync this with your phone (or Outlook-&gt;Google-&gt;iPhone) so you have
a decent photo contacts book.<br /><br />
Check it out <a href="http://www.melsam.com/outsync/">here</a>.<br /><p></p><img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=a4c62425-f1ee-4bec-8a28-b3b7dd80da3a" /></body>
      <title>Synchronise Facebook Photos with your Phone Contacts</title>
      <guid isPermaLink="false">http://www.duncangunn.me.uk/dasblog/PermaLink,guid,a4c62425-f1ee-4bec-8a28-b3b7dd80da3a.aspx</guid>
      <link>http://www.duncangunn.me.uk/dasblog/2009/07/11/SynchroniseFacebookPhotosWithYourPhoneContacts.aspx</link>
      <pubDate>Sat, 11 Jul 2009 12:08:26 GMT</pubDate>
      <description>I've been looking at &lt;a href="http://developers.facebook.com/"&gt;developing Facebook
applications&lt;/a&gt; recently, and came across this &lt;a href="http://www.hanselman.com/blog/HanselminutesPodcast88WritingFaceBookApplicationsWithNETInterviewWithMelSampatAuthorOfOutSync.aspx"&gt;podcast
from Scott Hanselman&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
In it, he speaks to Mel Sampat, who has created a great application which synchronises
your Facebook Friends with your Outlook Contacts, pulling down the Profile Photo.&amp;nbsp;
You can then sync this with your phone (or Outlook-&amp;gt;Google-&amp;gt;iPhone) so you have
a decent photo contacts book.&lt;br&gt;
&lt;br&gt;
Check it out &lt;a href="http://www.melsam.com/outsync/"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.duncangunn.me.uk/dasblog/aggbug.ashx?id=a4c62425-f1ee-4bec-8a28-b3b7dd80da3a" /&gt;</description>
      <comments>http://www.duncangunn.me.uk/dasblog/CommentView,guid,a4c62425-f1ee-4bec-8a28-b3b7dd80da3a.aspx</comments>
      <category>Facebook</category>
    </item>
  </channel>
</rss>