Curl api chart request

I want to check how to handle access_token . Therefore, I use curl to execute the following queries:

 curl -X POST https://graph.facebook.com/oauth/access_token -d "client_id=<appId>&client_secret=<secret>&grant_type=client_credentials&redirect_uri=" 

It returns a value for access_token .

Then I would like to get a list of my friends:

 curl -X POST https://graph.facebook.com/me/friends -d "access_token=<token>" 

It returns this error:

 {"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}} 

Any clues?

+7
source share
4 answers

Have you tried using a debugger? Debug the access token here, it will tell you that it is an access token, and if it is attached to the user: https://developers.facebook.com/tools/debug

Also, why are you using POST to get / me / friends?

0
source

A simple way is to use the graphical APIs, go there and get and receive a token with the facebook developer account:

Creating a primary user access token

When you get to creating your own application, you need to find out access tokens and how to generate them using Facebook Login, but for now we can quickly get one of them through the Graph API:

 Click on the Get Token button in the top right of the Explorer. Choose the option Get User Access Token. In the following dialog don't check any boxes, just click the blue Get Access Token button. You'll see a Facebook Login Dialog, click **OK" here to proceed. 

You can use the graphical api explorer as curl, but if you want to try it with real curl, sintaxis looks like this for the latest api v2.8:

 curl -i -H 'Authorization: Bearer YOUR_ACCES_TOKEN' -XGET 'https://graph.facebook.com/v2.8/me' 

in my case:

 toni@MBP-de-Antonio  ~  curl -i -H 'Authorization: Bearer MY-ACCES_TOKEN' -XGET 'https://graph.facebook.com/v2.8/me' HTTP/1.1 200 OK x-app-usage: {"call_count":2,"total_cputime":3,"total_time":3} Expires: Sat, 01 Jan 2000 00:00:00 GMT x-fb-trace-id: BnLv25AHTjq facebook-api-version: v2.8 Content-Type: application/json; charset=UTF-8 x-fb-rev: 2929740 Cache-Control: private, no-cache, no-store, must-revalidate Pragma: no-cache ETag: "39875e94193dcd62dcbbf583fc0008c110820a6c" Access-Control-Allow-Origin: * X-FB-Debug: fvO9W8Bfl+BihEy/3aZyzOiMrXOkrbK8q1I3Xk2wYnI7sSujZNC6vQzR4RoTWK7K3Hx6EdzoE2kZ/aWhsXe4OA== Date: Sat, 01 Apr 2017 06:55:52 GMT Connection: keep-alive Content-Length: 61 {"name":"Antonio Juan Querol Giner","id":"10204458008519686"}% 
+4
source

I think your problem may be the identifier "/ me" that you use when trying to access your own data. (Depending on which client ID is set, since you can link to the application instead of yourself, try it with your profile ID instead of "/ me").

Also check this out fooobar.com/questions/284429 / ...

0
source

You must enclose "https: // ...." with a double quote after curl -X POST.

0
source

All Articles