Getting basic profile information of some one using graph API - facebook-graph-api

I am new to graph api.
i have done slight reading and found that we need access tokens for accessing a profile, but for my application i only have access to the email-id of a person
I just wanted to know if i can get anyone's basic profile information by just knowing thier E-mail id.
help in anyway way would be appreciated.

No, without authorization you can´t get any user info, and you can´t search for Facebook users by email. You would have to authorize users with the email permissions and compare it that way.

Related

Is it possible to get the Instagram profile picture and other basic details?

I'm trying to get the details of the user using the access_token from the Instagram APIs, Instagram Basic Display API and Instagram Graph API. What I found is the details are bit messy and by going deep into it I'm not able to conclude the final result as I want.
What I got to know during the implementation is that Instagram has stopped the public APIs. does that mean apart from getting auth-token then had stopped everything?.
I have even tried the Instagram Basic Display API which is only giving the access of 4 fields account_type, id, media_count, username. Is it possible to get any other field from the same API?
If so How do I get the profile picture of the user and other basic details of the Instagram user?
any help will be appreciated
Currently, the API endpoint for retrieving a user's profile information only allows for the retrieval of the 4 fields you listed above. This is, up to now, all that has been made available for retrieval through the me endpoint of the Instagram Basic Display API for getting a User node.
Until the API developers further extend the API's endpoints and capabilities, you won't be able to use this API programmatically to get a user's profile image.

How can I gain access to the Facebook access_token issued when authenticating with Waterlock for Sails?

I am using Waterlock to authenticate users in my Sails.js backend API for a mobile app that I am building. I think I'm experiencing a bug that isn't allowing me to save additional user data from Facebook such as email, profile picture, friend list, etc.
Regardless of whether this is because of my own error, I would prefer to make calls of my own to the Facebook graph API so that I can add the data to my own model but I can't figure out how to get my hands on the user token. Any ideas?
Thanks in advance.

Graph API - as user?

I am trying to get to grips with the Graph API. Is i,t correctly understood that if I want to ask for my own, say friends, through code, I should
register my application and get an app access token
Login with my own credentials and get an user access token?
I find it difficult to grasp the concepts from the documentation.
The flow should go like :
User adds the app and gives the permissions.
Which returns the access_token (user access token) which is used to query datas.
Generally speaking, You ask for permissions, and you get a key which can open the locked contents. That is the access_token.
Difference between App Access_token and User access_token :
App access_token is needed when you do something as the app. Like getting the insights for the app, or working with subscriptions, so and so.
User access_token is needed when you want to act as the user who have the app added in their account.
With reference to your question, You clearly doesnt need App access_token.
You need to do both.
Registering your application tells Facebook where those requests are coming from. They monitor what requests your app is making to police apps that violate your terms.
Once you have that app, you personally authenticate it to get information from or post information to Facebook on your behalf. The app must ask for specific permissions and you have to grant these for it to work.

Facebook OAuth offline login

I am building an in-house application which would accumulate the information from several social networks at once. Possibly, the URL of the application will not be known or it will not be allowed anywhere outside localhost.
One of the information pieces I will be accumulating is FQL insights table information: https://developers.facebook.com/docs/reference/fql/insights/ . As you may notice, this information is private, so I just cannot fetch it anonymously.
The application itself is written in a "configure once and use forever" fashion, and possibly the person using the application will not be allowed to the Facebook login credentials at all.
My problem is the Facebook login. As I understand the login with "forever access" is now deprecated and Facebook does not allow API access the same way as Twitter does (creating the forever lasting key and forgetting about it). Question is:
Is there any way to overcome the fact that I need to ask the person for permissions every time I would like to fetch them? What can be the longest period between asking?
My current thoughts about it are:
Creating a dummy user for the 'manager' and giving him read-only
access to FB pages, therefore enabling him to log in to the account.
Then asking him for the permissions every (n) hours when I need them.
Automatic log in to the FB account given that we have the
login/password for the account and obtaining the API key myself.
Which is doable? Did anyone have any experience in doing this kind of things?
What can be the longest period between asking?
You can use Long-lived user access_token which is valid for 60 days.Use below FB call to get extended access token:
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN
You can check more details here:
https://developers.facebook.com/roadmap/offline-access-removal/
One more point which is worth to note here:
When a user change his password, deauthorizes an app their OAuth token get expired.
Hope this help !

facebook graph api: how to use me correctly?

i am trying to use /me/likes/pageID the same way i used pages.isFan (REST API).
But it always uses the user/page as me for which i created the access token and not the current active user.
can't get my head around this one, any help is appreciated!
thanks
[from comments] but do i really need to create an application to "just" check if the user is fan of my own page? and even ask his authorization?
Yes, you will need an app in any case.
If you run your app as a canvas or page tab app inside of Facebook, then you get the info if the current user liked the very Facebook fan page the app is running in(!) directly from the signed_request parameter.
If you want to query this infor for other pages, and/or your app is running outside of Facebook, then you have to have the user connect to your app and ask permission to read his likes first, before you can get this info.
For information on the latter case, see https://developers.facebook.com/docs/authentication/, https://developers.facebook.com/docs/authentication/permissions/#user_friends_perms, https://developers.facebook.com/docs/reference/api/user/#likes
It is easy: With the new Graph API, the owner of the access token is me. You can see this by pasting an access token into the debugger.
You should be authenticating your user and gaining an access token in their name each time they visit your site. Then use only this access token when you make your query.
This process is easiest if you use one of the Facebook SDKs.