|
Some info:
http://www.adobe.com/devnet/facebook
http://developers.facebook.com/tools.php
Rendering xfbml
http://wiki.developers.facebook.com/index.php/XFBML#Rendering_XFBML
multi-friend-selector:
http://wiki.developers.facebook.com/index.php/Multi_friend_selector
http://wiki.developers.facebook.com/index.php/Fb:multi-friend-selector
fbml test console
http://www.somethingtoputhere.com/demo/xfbml_console/index.html
Extended permissions
http://wiki.developers.facebook.com/index.php/Extended_permissions
swf secret key
"You don't, however, want to hard-code these values inside your SWF file;
SWF files can be decompiled using various software programs. Instead, you
should have your SWF file make a secure call to your server (using Flash Remoting
or an HTTP request) and retrieve the application secret key which you then pass
to the Action Script session class constructor and which is used to create the
signature variable required for calls to the Facebook server."
xd_receiver.htm
Should contain this link:
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
Or for FB connect:
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
Add this in the _body_ of the page
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"/>
* Note not the 'connect' version (?)
application tabs in business pages
http://wiki.developers.facebook.com/index.php/New_Design_Tabbed_Profile
Tab label max chars: 11
Applications cannot use iframes on tabs.
For the best user experience, use a requirelogin link instead of redirecting back to the login page.
Use "requirelogin=true" in an <a> tag or any other tag.
Besides enabling 'Installable to' in the Authentication settings,
you are also required to fill in 'Profile tab' in the Profiles settings.
Of course also: authentication > authentication settings > installable to? > [x] facebook pages
* Fucked up: Owner of an application is not allowed to add the tab for that application to a business page,
even if he is an administrator of that page. So another page administrator has to do it.
* Go to app page. Under 'Info' tab in upper left, click "Add to my page"
and then you can add that app as a tab on the facebook page!
*
Not sure about this one
<script type="text/javascript">
FB_RequireFeatures(
["CanvasUtil"],
function(){
FB.XdComm.Server.init('/xd_receiver.htm');
FB.CanvasClient.startTimerToSizeToContent();
}
);
</script>
Authorizing applications
http://wiki.developers.facebook.com/index.php/Authorizing_Applications
On the new Facebook profile, a user can begin interacting with your application immediately. You don't need
to have a user authorize your application as soon as the user visits your canvas page. A user authorizes an
application when the application presents a login screen where the user accepts the application's terms of
service and lets the application access his or her profile data.
Q: OK, so why should I require a user to authorize my application?
A: If your application needs to access more user data, or you need to send the user notifications, for example,
you can prompt the user to authorize your application. To do this, include the requirelogin attribute in links
to your application, as in <a href="http://apps.facebook.com/mysmiley" requirelogin=1> Welcome to my app</a>.
This pops up a lightweight Ajax dialog, providing the user with a more seamless experience.
Q: What happens when a user authorizes my application?
A: Once the user authorizes the application, you can start sending application-to-user notifications
and publishing one line News Feed stories automatically.
Q: How can I tell if a user has authorized my application?
A: When the user authorizes your application, we'll ping your post-authorization URL (which you specify in
your application's settings). In addition, you can call users.isAppUser to get your answer.
"Publisher"
There are two sets of these options available: one for when a user publishes to his or her own profile
(Self-Publish Text and Self-Publish Callback URL in your application's settings) and one for when a user
publishes to a friend's profile (Publish Text and Publish Callback URL in your application's settings).
Notifications.send
http://wiki.developers.facebook.com/index.php/Notifications.send
Application-to-user notifications are sent on an application's behalf and do not require an active session.
The allocation for these is also available through admin.getAllocation.
Requests Vs. Notifications
Requests are actions initiated by the user (such as invitations to install an application or play a game)
and appear on other users' request pages. You generate requests using fb:request-form.
... $facebook->api_client->notifications_send($uid, 'some info', 'app_to_user');
Stream.publish
http://wiki.developers.facebook.com/index.php/Stream.publish
publishes a post into the stream on the user's or Facebook Page's Wall and News Feed.
This post also appears in the streams (News Feeds) of the user's friends' or Page's fans.
Before your application can publish to the stream, the user or Page must grant your application
the publish_stream extended permission. If the user previously granted your application the permission
to publish short stories into the News Feed automatically, then you don't need to prompt for this
permission in order to call this method.
Methods for publishing stuff to user profile
Links.post
A way to force authorization on entry
[a] The code
<fb:if-is-app-user>
normal stuff
<fb:else>
<fb:redirect url="http://www.facebook.com/login.php?api_key=XXXXXXXXXXX"/>
</fb:else>
</fb:if-is-app-user>
[b] Application settings > Canvas > Post-Authorize Redirect URL = http://apps.facebook.com/my_app/
[c] Bonus -- Also, in that redirect url, you can add a GET parameter "next=http://xxxx", which
is where you go after _login_ (as opposed to authorization)
Misc
If you're not logged in:
If you go to an application page, it dumps you to the Facebook homepage/login page. That is the normal behavior.
|
|
Page last modified on February 12, 2010, at 10:53 AM
|
|