Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting the user context id for a Facebook Open Graph API query

I'm currently building an experimental social network to study the influence of social medias on customers behaviors.

My users log in through Facebook OAuth provider. I store their access tokens and query the Open Graph API to fetch info about them.

I'm trying to use the all_mutual_friends edge for a given user context, using the access token of one of my users, but I found nowhere how to get the user-context-id that is required to get that info.

It is not the id of the user you want to retrieve the mutual friends from. I've tried that and got an error.

I've skimmed trough Open Graph docs and found nothing about that user-context-id.

How can I retrieve it?

like image 674
Felix D. Avatar asked Jan 08 '23 13:01

Felix D.


1 Answers

Odly enough, the docs do not specify how to get the context id, but I managed to get it by digging a little.

This is how you would do to get the all_mutual_friends data:

GET /{user-id}?fields=context.fields%28all_mutual_friends%29&access_token={other-user-access-token}

Then, the context id would be given in the response.

{
  "context": {
    "all_mutual_friends": {
      "data": [
        {
          "id": "1381033095543871",
          "name": "Dave Amiaaehjighi Putnamwitz",
          "token": <user token>,
          "picture": {
            "data": {
              "is_silhouette": true,
              "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/c15.0.50.50/p50x50/10354686_10150004552801856_220367501106153455_n.jpg?oh=82c2ce067f9c7f2c0a66d1efb16730e7&oe=5670F72F&__gda__=1450287355_17925d7381c8da5663c2349483f4b032"
            }
          }
        }
      ],
      "paging": {
        "cursors": {
          "before": "MTM4MTAzMzA5NTU0Mzg3MQZDZD",
          "after": "MTM4MTAzMzA5NTU0Mzg3MQZDZD"
        }
      },
      "summary": {
        "total_count": 1
      }
    },
    "id": <Context id>
  },
  "id": "1375274282788732",
}

That context id could then be used for

GET /{user-context-id}/all_mutual_friends/

But this step is pretty useless since we get the data in the first query.

Would be nice if Facebook updated their docs to reflect reality.

like image 80
Felix D. Avatar answered May 26 '23 07:05

Felix D.