Search code examples
facebookfacebook-graph-apifacebook-fqlphoto

Getting a High Resolution picture from Facebook API


Facebook FQL API for Photos states the maximum resolution for a photo returned from the API is 960x960:

The Photo object has an equivalent src connection. Using photo_src FQL, you can retrieve images with the following dimensions: 960, 720, 480, 320, 180, 130, 75 pixels.

However, some images are uploaded at a higher resolution. Sometimes even much higher.

When browsing Facebook regularly, you can see these pictures and view their full size. However, I can't seem to find any way to get the original resolution in the API.

Is this possible and I have missed something? And if it's not - why?


Solution

  • Getting the max size of a picture

    /USER_ID?fields=images
    

    images gives back "an array of objects containing width, height, source each representing the various photo sizes". The result looks like this:

    {
      "data": [
        {
          "images": [
            {
              "height": 1536, 
              "width": 2048, 
              "source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/s2048x2048/65169_XXXXXX_n.jpg"
            }, 
            {
              "height": 720, 
              "width": 960, 
              "source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/65169_44590146XXXXXXXXn.jpg"
            }, 
            {
              "height": 540, 
              "width": 720, 
              "source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/s720x720/65169_44XXXXXXX0984540_n.jpg"
            },
            { 
              ...
            },
            {
              "height": 97, 
              "width": 130, 
              "source": "https://fbcdn-photos-a.akamaihd.net/hphotos-ak-prn1/s75x225/65169_44XXXXX_s.jpg"
            }
          ], 
        }
      ]
    }
    

    Getting the max size of a profile picture

    Try with more than 960, i.e 961. You'll get the maximum size of the picture, if available!

    /USER_ID?fields=picture.height(961)
    

    Result:

    {
      "id": "PROFILE_ID", 
      "picture": {
        "data": {
          "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/615962_4486XXXXXXXXX3_601495975_o.jpg", 
          "width": 1536, 
          "height": 2048, 
          "is_silhouette": false
        }
      }
    }