Save or Link to Social Media Profile Image - facebook

In my app, I let users register/login with their social media accounts i.e. LinkedIn, Google and Facebook.
My question is once I get the profile picture URL for the user, should I save the image in my system OR am I allowed to simply save the URL and let the image be served from the user's social media account? I'm not even sure if I'd be allowed to save the image as technically it could be the property of LinkedIn, Google or Facebook.

The general recommendation is to use the profile picture URLs the networks provide. Those usually redirect to a CDN URL. It has the advantage that changes to profile pictures are “live” immediately, and you don’t have to worry about re-checking periodically.
Only if you are in a situation where you have to show a massive amount of profile pics at once and the redirects are slowing stuff down, storing them on your system is an option to think about. But without any actual need, I would not go that route.
(And don’t store the actual CDN URLs; at least for Facebook, because they explicitly say those are to be considered “transient”, and will change over time.)

Related

How to add a "Facebook" button which allows users to select an image FROM Facebook and return it to my website

I have a Web-to-Print store where users can upload their own images. I need a way for users to be able to click a "Facebook" button, log in, and select one of their photos (which is then returned to our website).
This seems like it should be pretty easy and is extremely common on Web-to-Print sites, but I can't find any information on it and all searches resulted in uploading an image TO Facebook.
The Facebook API doesn't seem like it would offer a good user experience, and the SDK doesn't seem to support selecting and then pulling in an image. Is there no pre-made way to do this or Am I missing something?
There is no prebuilt function, you would have to authorize the user with the user_photos permission and use the /me/photos endpoint to get his photos: https://developers.facebook.com/docs/graph-api/reference/user/photos/

Download photo from Facebook album

Is it possible and legal for a website to download and store photos from a Facebook album?
This the process that I'mtrying to achieve from my website.
A user browses to my website
My website uses the Facebook SDK to display the user's Facebook photos
The user selects photos
My website physically downloads those selected photos and stores them on the server that the website is hosted on.
I need to download these photos so that other users can see them.
It's technically possible if you ask for the correct permissions when you authenticate.
Facebook allows you to download user data (including photos) for purposes of caching.
There are a lot of responsibilities that come along with being able to download user data and rather than trust my interpretation, you should really read the Facebook Policy yourself.

Can we track an image uploaded in Facebook?

This is the case, if we can track the images that we upload to the facebook page in order to known who download the images and located maybe the IP or the user profile.
You'd need to create a custom Facebook application that grabs user information based on the Facebook open graph for this. Users will have to allow your application to access their data first though. there is no way to track user information simply by uploading a photo on your wall/photo albums

showing Facebook profile pic without revealing userId

I am building a Facebook app that has the ability for others to submit stories, and if they publish this story to "Everyone", then anyone, even people who aren't their friends, can see the story. I want to add the user's profile pic to the story. I know that you can access this via:
https://graph.facebook.com/<userId>/picture
However, I do not want to expose the user's userId this way. Someone could just view the source, see their userId in the src URL and then the person's privacy has just been compromised.
I want to hide the userId so that this type of privacy leakage is NOT possible.
Is there a way to do this, or is my only option to save a non-profile image for the user?
They will always be a way to identify a user from their profile pic, assuming they have one set and aren't just using the standard silhouette. The UID is part of the string that makes up our CDN urls for profile pics, so there's nothing that's 100% foolproof.
Your best course of action would likely be query the Facebook API and store the CDN URL directly from there before rendering - eg for me, querying
https://graph.facebook.com/260300016?fields=picture will return the URL for my current profile picture - https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/203337_260300016_1473273891_q.jpg

Facebook App: Displaying Users Photos to Other Users?

Does anyone know if Facebook Permissions will allow an app to display a photo of one app user to another, regardless of privacy settings?
I want to save photo id's to a database and then display many different users photos at once, to the user, within the app.
I could use fbml but am hoping to use xfbml.
Any suggestions would be much appreciated!
Facebook API restrictions are going to be exactly the same as the authenticated user ( assuming they grant you sufficient access). So if a user has access to photo's in another users gallery, you can display them. If they don't, you cannot.
However, if you save the Photo ID of a users picture, then want to display it to a different user later on, who does not have implicit rights to view that photo, they will not be able to see it.
Your app would be best served by taking a copy of the shared photo, which would take Facebook permissions completely out of the equation.