Friends.getMutualFriends
From Facebook Developer Wiki
Contents |
Description
Returns the Facebook user IDs of the mutual friends between the source user and target user. For the source user, you can either specify the source's user ID (the source_id) or use the session key of the logged-in user, but not specify both.
The source user must have authorized your application.
You cannot store the IDs that get returned from this call.
Privacy applies to the results of this method: If the source user chooses to not show friends on his or her public profile, then no mutual friends get returned. If a mutual friend chooses to be hidden from search results, then that user's UID does not get returned from this call.
Parameters
| Required | Name | Type | Description | |
| required | api_key | string | The application key associated with the calling application. If you specify the API key in your client, you don't need to pass it with every call. | |
|---|---|---|---|---|
| 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. If you specify the call ID in your client, you don't need to pass it with every call. | ||
| sig | string | An MD5 hash of the current request and your secret key, as described in the How Facebook Authenticates Your Application. Facebook computes the signature for you automatically. | ||
| v | string | This must be set to 1.0 to use this version of the API. If you specify the version in your client, you don't need to pass it with every call. | ||
| target_uid | int | The user ID of one of the target user whose mutual friends you want to retrieve. | ||
| optional | session_key | string | The session key of the logged in user. The session key is automatically included by our PHP client. If you don't pass a session key, then you must pass a source_id. Desktop applications must always include a session_key | |
| format | string | The desired response format, which can be either XML or JSON. (Default value is XML.) | ||
| callback | string | Name of a function to call. This is primarily to enable cross-domain JavaScript requests using the <script> tag, also known as JSONP, and works with both the XML and JSON formats. The function will be called with the response passed as the parameter. | ||
| source_uid | int | The user ID of the other user for which you are getting mutual friends of. Defaults to the current session user. Specify the source_uid when calling this method without a session key. |
Example Requests
Response
This method returns an array of user IDs of the mutual friends, or an error code.
Privacy Note: The friend IDs returned are the friends that are visible to Facebook Platform.
Example Return XML
Example Return JSON
FQL Equivalent
FQL queries take the form: SELECT <fields> FROM <table> WHERE <conditions>
This function is similar (but returned in a slightly different format) to doing the following FQL query, with the appropriate parameters filled in:
When calling without a session the standard_friend_info table will be used in the FQL query.
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. | |
| 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. | |
| 110 | No target uid and or no source uid was specified. | |
| 200 | Getting the friends of these users is not permitted. |
Notes
- This function does not require a
session_key, unless it is being called by a desktop application. - The two users whose mutual friends you want to retrieve don't need to be friends with each other.
- Getting the mutual friends when a
source_idis specified only works if it is called without a session. It is possible to get the mutual friends of any two users when there isn't a current session. This prevents exposing information that a user shouldn't see inadvertently. - You can call this method using a session secret, and not the application secret (for example, for a Facebook Connect site or desktop application).
