I'm a beginner when it comes to php/scripting - or "websiting" in general.
What I really would like to do, is to fetch a users profile picture and user id, when the person clicks on the "Login with facebook" button. I then want to be able to div this out on my page. Is it a way to do this via mysql? When the person clicks login/allow, their picture and user name will be stored in my database and then displayed?
To my understanding, I have to go via the FB.api?
Thank you who answers :).
Once user authorize your app with basic permissions, you'll get a access token.More about authentication can be found here
Once you get the access token, you need to send a get request to https://graph.facebook.com/me with the access_token you received in step 1
It will contain JSON string that will contain userid and link to profile picture, you can save that to your mysql database
More about graph api can be found here
Related
I have a social media app written in Flutter. Users can see the profiles each other and block/unblock them. I'm using MySQL to keep that data. Now I want to implement chat feature using Firebase Firestore (or maybe MongoDB). When a user sends a message to another user, should I check if user blocked another user from MySQL every time, so user can't send new message. Is this a good practice in chat application, or should I store the "blocked" data at Firebase also.
I researched this subject deeply but didn't find any solution.
Like when user is trying to send a message to another user so in the list of the recipients you are also retrieving the value for (is particular user is blocked by the current user), if it's so you are checking this on that time.
Secondly, if you want this to check when sending to server. So, you can manage this using firestore transaction in which you might get the object of the sender and check to whom the sender has blocked and you may throw an exception. The other thing you might manage it using Firestore Security Rules as well.
So you can code like most of the current social media works.
Simply let the user send a message but put a condition on the receiver
user side so if the user is blocked by the receiver then it should not show
the chat in the user chat list also should not send a notification if the user
is blocked by the receiver.
Hi i want to develop the bot , but first i ask users to share the link of my bot to 5 other users then continue and register in my bot , i develop all sections but i cannot handle the first one, how can i detect that the use send share link to other user ?
i user laravel + talageram bot SDK to develop my bot.
i just want to know that user share the link and continue , i search in many docs and site bud i cannot find anythings that useful to me.
please help me to handle this problem in my telegram bot . thanks :)
Basically, you can't find out if your user has sent the link to others. You can only find out when the other user taps on the link and starts your bot. This can be done by Deep Linking. You should create a unique identifier for each user and add it as a query string to the special link made for the user.
Example:
https://telegram.me/my_bot?invitedFrom=user1
You have to check for invitedFrom parameter each time a user starts your bot in order to credit the referrer user.
By using above method, you will only be notified when the other user starts your bot.
However there is a trick you can do in order to see if a special message is forwarded to other users. Here are the steps:
Make a private channel.
Create a message containing your bot link.
Forward the message to your bot user.
Ask your bot user to forward the message to friends.
Check the view count of the message to know if it's seen by others.
By using this trick you can find out how many times the message containing your bot link is seen.
I'm looking for some help. I am about to delve into something I am relative new to. I am am trying to create a system for my app where a user can create an account and login and once they have done so it uploads an array to a database so that the array can be retrieved by other users.
I understand that this is kind of complicated, but I'm sure somebody has experienced this issue before. I have read about mysql but I'm not sure if when the user creates an account, that I can upload the array and it can be accessed by other contacts.
If someone could give me links to tutorials that you found helpful then it would be greatly appreciated.
Pseudo code would be:
User 1 creates account.
User 1 logs in.
App uploads array to users account stored online.
When user 2 logs in (assuming he has created an account)
He adds the first user as a contact of app.
He downloads the array of user 1 and uploads his array
I am creating an iOS App which the user will be able to login to via his account with our website (internal), or via Facebook or Twitter.
What I would like to know is how should I manage the database in order to verify his Facebook / Twitter account with his internal account on my website?
I.e When the user logs in via his internal account, I just run a simple authentication check to see if his username and password are valid. However with Facebook and Twitter, I obviously can't do this as I don't have access to the user's password.
Thanks in advanced.
my suggestion is that you would create a new table for each of the login types and connect it to your users/members table.
for example - for facebook login you would have a facebook_users table to hold the user's data (such as name, pic and most important - fbid)
than add a column named facebook_user_id to your existing members table.
in order to get the logged user from facebook you don't need to access his password... you should use the Facebook JS SDK and specifically the FB.getLoginStatus and FB.login function...
offcourse my suggestion is only one of many applicable ways to accomplish the task
Save fbid instead of fb-login user_name (you can keep both) of the user in your internal login table - A unique mapping exists (I'm sure something similar exists for twitter as well). Why do you need fb password for it?
Moreover, you run the check on internal table to authenticate user account, but when using login from fb or twitter, isn't the user already authenticated?
I am trying to implement a simple login system with facebook, but I need users to pick a username. What I was thinking was to get all the information I need from facebook, request permissions, then add the information to the database, redirect to a form asking for a username and then add that to the database, to the same entry.
I think a transaction is needed so I don't end up with any half completed database entries. But I've only ever used them on the same page, so I'm wondering if this is safe? If it fails then there is no point where I would be telling the database to roll back the changes and it would be with a transaction open.
Is this right or will it be ok?
I think you made it more complicated than it should be :)
No need to enter facebook id into database before username as you can always grab it later.
Forward user to login screen (or better just open login popup using javascript FB API)
Once user is logged in forward them to username picking page (or better do javascript popup without page redirect)
When user is entered username request the current user id from facebook on server side (by either using graph api or fql) and then if everything is ok enter this record to database.