Data.setUserPreferences

From Facebook Developers Wiki

Jump to: navigation, search

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.