Data.setUserPreferences
From Facebook Developer Wiki
Note: Support for this method is temporarily disabled until we support user-level permissions. You can still pass this call, but you must include your application secret.
Sets currently authenticated user's preferences in batch. Each preference is a string of maximum 128 characters and each of them has a numeric identifier ranged from 0 to 200. Therefore, every application can store up to 201 string values for each of its user.
To "remove" a preference, set it to 0 or empty string. Note that, both "0" and "" are considered as "not present", and getPreference() call will not return them. To tell them from each other, one can use some serialization format. For example, "n:0" for zeros and "s:" for empty strings.
Contents |
[edit] Parameters
| Type | Name | Description |
|---|---|---|
| string | api_key | The application key associated with the calling application. |
| string | session_key | The session key of the logged in user. |
| float | call_id | 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. |
| string | sig | An MD5 hash of the current request and your secret key, as described in the authentication guide. |
| string | v | This must be set to 1.0 to use this version of the API. |
| string | format | Optional - desired response format. Either "XML" (default) or "JSON". |
| string | callback | Optional - wrap the response inside a function 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. |
| map | values | Id-value pairs of preferences to set. Each id is an integer between 0 and 200 inclusively. Each value is a string with maximum length of 128 characters. Use "0" or "" to remove a preference. |
| boolean | replace | True to replace all existing preferences of this user; false to merge into existing preferences. |
[edit] Return Value
(none)
[edit] PHP Client Coding Examples
Since the preferences are being as a batch, we are setting ALL preferences at once.
<?php
$facebook = new Facebook($key,$secret);
// Set all preferences in order. Preference 0 will be 'ValA', 1 => 'ValB', etc.
$facebook->api_client->data_setUserPreferences(Array('ValA', 'ValB', 'ValC', 'ValD'));
?>
[edit] FQL Equivalent
(none)
[edit] Error codes
| Code | Description |
|---|---|
| 1 | An unknown error occurred. Please resubmit the request. |
| 2 | The service is not available at this time. |
| 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. |
| 800 | Internal error. Please report this to Facebook when getting this error. |
| 802 | Quota exceeded. Certain maximum number allocated for an application or a user is exceeded. |
| 805 | A temporary database failure happened. Usually this can be corrected by a re-try. |
