Facebook api: access friends' photos - facebook

I've been asked to create a contest page for a radio station. The page should allow users to select a few of their Facebook friends that they want to participate in the prize event. After the friends have been chosen and confirmed the page should generate a collage of the friends' profile pictures.
I know I can get the 200px wide version of anyone's profile picture(assuming it's public) using the graph api. Is there any way to get the picture even if it isn't public? How about getting a bigger version of it?
I have no experience with the FB developer side, so I will appreciate any links to other useful resources.

Taken from the Facebook Graph API documentation:
You can render the current profile photo for any object by adding the suffix /picture to the object URL. For example, this will render your public profile photo:
<img src="https://graph.facebook.com/facebookid/picture"/>
You can specify the picture size you want with the type argument, which should be one of square (50x50), small (50 pixels wide, variable height), and large (about 200 pixels wide, variable height): http://graph.facebook.com/facebookid/picture?type=large.

Related

Primary images when Sharing page on Facebook

We have a PHP based real estate template and when we SHARE PAGE on Facebook, the resulting photos to choose from do not include the desired photo(s) to select from. IE we have 10-15 images on this page, and facebook only offers 3-4 as an option to share, none of which we want to share.
Suggestions?
Example http://kemptvillerealestate.com/listings/listing_body.php?id=118521
I have seen some cases that image size and/or aspect ratio did not satisfy Facebook's requirement and those images did not appear on users' wall, timeline or Facebook page.
The best practice is shown here and I think this is the latest one. As Facebook design including timeline, news feed and page changes this optimization practice changes accordingly. So be careful catching up the latest specifications.
So far the document describes as follows:
Use images that are at least 1200 x 630 pixels for the best display on high resolution devices. At the minimum, you should use images that are 600 x 315 pixels to display link page posts with larger images.
If your image is smaller than 600 x 315 px, it will still display in the link page post, but the size will be much smaller.
We've also redesigned link page posts so that the aspect ratio for images is the same across desktop and mobile News Feed. Try to keep your images as close to 1.91:1 aspect ratio as possible to display the full image in News Feed without any cropping.
And when you update images on your pages, make sure you visit Facebook Debugger and let Facebook crawler scrape your page again so they will get the latest version of your page content. Or you can do it programmatically as stated here:
This Graph API endpoint is simply a call to:
POST /?id={object-instance-id or object-url}&scrape=true
The response from this endpoint will be a JSON object that contains all the information about the object that was scraped (the same data returned when the Object ID is read from the Graph API).

Link a posted photo with an app page

I'm designing a photo-oriented Facebook app that would let users tell stories in the app-specific way and advertise such stories by posting a single, preferably large, "cover" photo. Photo posting is done by the app and people that would like to see the story need an easy and obvious way of being redirected to the corresponding app-generated page. So hence is the question.
Is it possible for a Facebook app to post a maximally large (column-wide) photo on the user's behalf, so that when others (non-users included) click on the photo, it takes them to a specific page that is related to the app instead of zooming into the photo by default? If not, what would be the best workaround?
To get the maximum large photo on news feed, you should look into user generated photos, which requires two additional parameters you add to your open graph action to indicate that the user-generated photo should have maximum photo display on news feed and ticker.
Example OG POST:
https://graph.facebook.com/me/nyccookbook:cook?
recipe=http://www.yourdomain.com/pizza.html&
image[0][url]=http://www.yourdomain.com/images/my_camera_pizza_pic.jpg&
image[0][user_generated]=true&
access_token=YOUR_ACCESS_TOKEN
If the photo is not user-generated, then explicit sharing is an alternative to get maximum display size on news feed and ticker provided that you follow all the requirements and guidelines for explicit sharing.
when others (non-users included) click on the photo, it takes them to a specific page that is related to the app instead of zooming into the photo by default
This is not possible because FB users expect the behavior to zoom the photo in when clicking on it. If clicking on a photo launches an URL, it is a bad user experience because that is not what anyone expects when clicking on a photo on FB.
The best workaround I can think of is to edit the description of the image with a link to your specific page on your app, such that when a FB user sees the picture, they can click the link in the description to go where you want.

show and hide content based on if someone has “liked” your facebook fan page

I have a FAN PAGE that makes LOTS of uploads to my ALBUM.
I DONT want to spam the people who LIKED my page with every upload
question: how can i control which images get viewed on my fans WALL?
In other words, if JOE was a fan to my FAN PAGE i dont want JOE's wall to be bombarded with fan page images.
Is this even possible using GRAPH API?
Joe's wall would not be bombarded with images as a fan of your page. If you mean that his feed would be filled with the images, Facebook's algorithm for skimming through feed content ensures that your images do not instantly flood his wall. Rather, it ranks existing content from various sources and places a limit on how much content is shown per source.

Developing a photo tagging application (with possibiltiy of tagging unlimited tags)

Developing a facebook application similar to:
http://www.fostersartofchilling.com/introducing-strong
Their is an image that will be relieved if all the pixels are tagged.
Hovering on any pixel on the image previews the thumbnail of the user photo and name.
I tried using fb graph api, but we all know fb has policy set regarding no. of people that can be tagged on an image (50 person).
Please Help on this,
Thanks in Advance
if there is a policy and facebook has limited this at the api level, it is very likely that this cannot be done.
and even assuming you can do tagging at the pixel level, the no. of tags would still be limited.

What are the max dimensions that should be used for showing facebook photos?

I am grabbing the photo's of my user's friends on my site. And, the photos of the friends look very dull, and photos seem to have a very low resolution.
How can I make sure that the photos are sharp ? Do I need to do any post processing ?
What are the max dimensions that should be used for showing photos ?
If you're grabbing profile thumbnail, it's because they get resized when you upload them to Facebook. Facebook does this automatically. If you want higher quality photos, you need to use a different API method than the the one used to get profile photos:
http://developers.facebook.com/docs/reference/api/
I'd suggest "Photos" or "Photo albums" method.
EDIT The actual dimensions for a profile photo are 50x50. If you try to display them larger than this, you're going to get loss. Non vector graphics can only contain so much data per pixel.