Profile.setFBML
From Facebook Developers Wiki
Contents |
[edit] Description
Sets the FBML for a user's profile, including the content for both the profile box and the profile actions. See the FBML documentation for a description of the markup and its role in various contexts. Note that this method can also be used to set fb:profile-actions for users.
The FBML is cached on Facebook's server for that particular user and that particular application. To change it, profile.setFBML must be called through a canvas page or some other script (such as a cron job) that makes use of the Facebook API.
For Web applications, you must pass either the ID of the user on whose behalf you're making this call or the session key for that user, but not both. If you don't specify a user with the uid parameter, then that user whose session it is will be the target of the call.
However, if your application is a desktop application, you must pass a valid session key for security reasons. Do not pass a uid parameter.
[edit] Parameters
| Required | Name | Type | Description | |
| required | api_key | string | The application key associated with the calling application. | |
|---|---|---|---|---|
| call_id | float | The request's sequence number. Each successive call for any session must use a sequence number greater than the last. We suggest using the current time in milliseconds, such as PHP's microtime(true) function. | ||
| sig | string | An MD5 hash of the current request and your secret key, as described in the authentication guide. | ||
| v | string | This must be set to 1.0 to use this version of the API. | ||
| optional | session_key | string | The session key of the user whose FBML you are setting. Note: A session key is always required for desktop applications. It is required for Web applications only when the uid is not specified. | |
| format | string | Desired response format. Either XML (default) or JSON. | ||
| callback | string | Name of a function to call. This is primarily to enable cross-domain JavaScript requests using the <script> tag, sometimes known as "JSONP". This works with both XML and JSON. | ||
| uid | int | The user ID for the user whose profile you are updating, or the page ID in case of a Page. If this parameter is not specified, then it defaults to the session user. Note: This parameter applies only to Web applications and is required by them only if the session_key is not specified. Facebook returns an error if this parameter is passed by a desktop application. | ||
| markup | string | Deprecated parameter for a user's profile FBML. | ||
| profile | string | The FBML intended for the application profile box on the user's profile. | ||
| profile_action | string | The FBML intended for the user's profile actions. A profile action is the link under the user's profile picture that allows a user to take an action with your application. | ||
| mobile_profile | string | The FBML intended for mobile devices. |
[edit] Example Request
| $facebook->api_client->profile_setFBML(, 12800193, 'profile FBML here', 'profile action fbml here', 'mobile fbml here'); |
[edit] Example Return XML
| <?xml version="1.0" encoding="UTF-8"?> <profile_setFBML_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd"> 1 [[This is wall app.]] </profile_setFBML_response> |
[edit] Error Codes
| Code | Description | |
| 1 | An unknown error occurred. Please resubmit the request. | |
|---|---|---|
| 2 | The service is not available at this time. | |
| 3 | Unknown method. The method must be one of those exposed by the API documentation. | |
| 4 | The application has reached the maximum number of requests allowed. More requests are allowed once the time window has completed. | |
| 5 | The request came from a remote address not allowed by this application. | |
| 100 | One of the parameters specified was missing or invalid. | |
| 101 | The API key submitted is not associated with any known application. | |
| 102 | The session key was improperly submitted or has reached its timeout. Direct the user to log in again to obtain another key. | |
| 103 | The submitted call_id was not greater than the previous call_id for this session. | |
| 104 | Incorrect signature. | |
| 240 | The uid cannot be specified from a desktop application. | |
| 330 | The markup was invalid. |
[edit] Notes
- This function does not require a
session_key, unless it is being called by a desktop application. - I've had problems with words using umlauts. For example, "müzik". Perhaps encoding them will work - have yet to try that.
[edit] See Also
You can see a real world example of this method in the Footprints and Who's Showing Up demo applications. Go to Demos for more details and to download and install the demo apps.
