Friends.areFriends

From Facebook Developer Wiki

Jump to: navigation, search

Contents

Description

Returns whether or not two specified users are friends with each other. The first array specifies one half of each pair, the second array the other half; therefore, they must be of equal size.

Parameters

RequiredNameTypeDescription
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.
session_key string The session key of the logged in user, or the session key provided when the user granted your application the offline_access extended permission. The session key is automatically included by our PHP client.
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.
uids1 array A list of user IDs matched with uids2. This is a comma-separated list of user IDs.
uids2 array A list of user IDs matched with uids1. This is a comma-separated list of user IDs.
optional 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.

Response

Returns a list of friend_info elements corresponding to the lists passed. The are_friends subelement of each friend_info element is 0 or false if the users are not friends, and 1 or true if they are friends. Note that, for each pair, this function is symmetric. That is, it does not matter which user is in uids1 and which is in uids2.

Privacy Note: Result pairs containing users not visible to the Facebook Platform or friend information not visible to the user on Facebook returns elements in the following manner:

XML:

<friend_info> <uid1>1240077</uid1> <uid2>1240078</uid2> <are_friends xsi:nil="true"/> </friend_info>

JSON:

{"uid1":"1240077","uid2":"1240078","are_friends":null}

Example Return XML

<?xml version="1.0" encoding="UTF-8"?> <friends_areFriends_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" list="true"> <friend_info> <uid1>222332</uid1> <uid2>222333</uid2> <are_friends>1</are_friends> </friend_info> <friend_info> <uid1>1240077</uid1> <uid2>1240079</uid2> <are_friends>0</are_friends> </friend_info> </friends_areFriends_response>

Example Return JSON

[{"uid1":"222332","uid2":"222333","are_friends":true},{"uid1":"1240077","uid2":"1240079","are_friends":false}]

FQL Equivalent

FQL queries take the form: SELECT <fields> FROM <table> WHERE <conditions>

This function is similar to doing the following FQL query, with the appropriate parameters filled in:

SELECT uid1, uid2 FROM friend WHERE uid1=uid1 AND uid2=uid2

Error Codes

For a complete list of error codes, see Error codes.

CodeDescription
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.

Notes

You can call this method using a session secret, and not the application secret (for example, for a Facebook Connect site or desktop application).