Facebook Graph API Explorer not listing tagged photos uploaded by others - facebook-graph-api

Facebook photos that others upload and tag me in are no longer being listed by Graph API Explorer. Previously, my photos were accessible, e.g., using
https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Fphotos%2F&version=v2.12
But, photos I'm tagged in, but didn't upload, are no longer being listed. How can I access these photos using Facebook's Graph API Explorer?

It seems that facebook has tighten up its graph api requirements, causing breaking changes:
Apps can no longer get photo...objects for non-app Users who have been tagged by an app User
The wording doesn't precisely capture your scenario -- apps can no longer get photo objects uploaded by non-app Users that tagged an app user (hence, you cannot access all tags) -- but that's probably a wording issue by facebook.
The issue is that your friends that tagged you in their photos are non-app users. They should install the same app and give it access to the following permissions:
user_friends
user_photos
You need to make sure that you give the app those permission too.
You can see which friends have installed the app by using me/friends, it will list only friends who have installed the app.
In your case, since you are testing with "Graph API explorer application" just point a friend to the Graph API Explorer and ask them to give it the above permissions. After that, you should be able to get photos that you are tagged from this user.

Related

Using facebook graph api to read photo tags

I am building a website using React and Redux to search facebook photos through tags like my Friends name or by location. User needs to login with facebook so that the application can read its pictures. A user simply puts in the search filters like Tagged users or the location of the picture and my app will show results based on the filters. This will help to find old photos with friends which sometimes get lost on social media due to a large number of photos present(Uploaded or Tagged)
I am trying to fetch mutual photos of me and my friends using my access token and trying to read the tags present in the photos through API but the Response contains only my name in the tags and not other people who are tagged in that photo.
Is there any way to fetch the users who are tagged on a photo uploaded? Any help is appreciated.
Graph api link
Access to any data involving your friends is only possible if those friends specifically authorized your App too. You cannot even get an ID of a friend if he did not authorize your App.
Yes, in order to access involving your friend to authorize your app. But from the details i can see that,
"A user access token may read a photo that the current user is tagged in if they have granted the user_photos or user_posts permission. However, in some cases the photo's owner's privacy settings may not allow your application to access it."
Note: Just need to verify users privacy setting once again.

Extract my timeline posts from Facebook Graph API

I am trying to extract my posts, via Graph API from facebook. I used some basic code snippets but they don't work. I can not get my feed even in the Graph Explorer. It always says that I don;t have the permission and I have to submit my App for review and provide a video tutorial on how I use the extracted posts.
But I want to extract just my posts, I don't care for anybody elses. Do I seriously need FB App review to do that?
This is what I get with my token from my app:
user/posts requires additional contract signing:
Use /me/posts with your own App, with your User Token and authorize with the user_posts permission. This works without any approval from Facebook - for your account and your App only, of course. I just tested if it still works in the Graph API Explorer and it did: https://developers.facebook.com/tools/explorer/108138225915615/?method=GET&path=me%2Fposts&version=v5.0

How get publish_pages permission, to post on own business Facebook page using Graph API?

I am making a server-to-server Facebook 'app' so that some of the news articles we post to our own website can be posted on our own Facebook page too. I have read 14 squintillion pages of documentation, but cannot find how to get the publish_pages permission for myself or the app.
I have coaxed the app through the review process, and got the manage_pages permission allowed. I thought I had to submit all over again, to get publish_pages too, but the documentation says no. Apparently anyone appearing in the Roles for the app can grant the necessary permissions.
I have set myself up as admin for the app, yet when trying to get a token using the Facebook developer tools, I am never shown publish_pages. So even if I create a non-expiring token (my end goal) it is rejected with a message about the lack of publish_pages.
Shouldn't I be seeing more permissions listed here?
I'm sure I've read all relevant parts of the official documentation, plus StackOverflow answers and several unofficial walk-throughs, but I cannot work out what I am missing...
I thought I had to submit all over again, to get publish_pages too,
You do.
but the documentation says no. Apparently anyone appearing in the Roles for the app can grant the necessary permissions.
That is for apps in dev mode. Any of those users can grant the permission to your app, while it is in dev mode. But whatever you publish through your app, will only be visible to this group of users only, and not to the general public.
For the content to be visible to everyone, your app needs to be in live mode.
Before you can ask people - even those with a role in the app - for publish_pages when your app is in live mode, you need to submit that permission for review.

Can a posting from a facebook app to a users timeline contain images?

I am using facebook-cordova -> "Simple Facebook" -> Facebook SDK -> Graph API from an android app and an IOS app.
The functions I use in facebook-cordova to do the actual postings are named .feed() and .share(). They seems to be interchangeable on android i.e. result in the same graph api call in the other end.
What I need is to add images to a posting, preferrably by url.
(I have already managed to do postings without images, using app key and access token etc),
When glancing the facebook SDK for android, it seems there is no obvious way to add images to a status message.
On the other hand, it is possible, right?
The usual way to do this is to post a photo:
https://developers.facebook.com/docs/graph-api/reference/v2.1/user/photos
Of course the same rules apply to the message parameter, no prefilling is allowed, the value must be 100% user generated.
How to do this with Cordova should be explained here: Phonegap/Cordova Upload photo to graph.facebook - requires upload file
Remember that every photo in your profile is in an album: https://www.facebook.com//photos_albums
Afaik you can upload photos to every album except for the profile pictures.

Find out if you can post to users wall

I'm currently toying with the Facebook Graph Api and have been able to get some interesting results, I would like to be able to post to one of my Facebook App users pages. They have authenticated the app and confirmed the ability for my app to be able to post on there wall. I know there is the can_post check using FQL, but I haven't seen any information on this using the Graph API. Is there a possible check to make so I can see if I have the ability to post on there wall?
can_post
https://developers.facebook.com/docs/reference/fql/user/
This settings is actually a setting of the timeline:
This setting only affects the viewers of the specific timeline and does not apply to the owner of the timeline.
can_post - bool - Whether or not the viewer can post to the user's Wall
Beyond this settings, by authenticating an application and giving it certain publishing permissions, the application, using it's per-user per-app access token will be able to perform actions on behalf the actual user. Actions will be attributed to the user even though it is the application that initiated and published these stories.
To answer what I assume is your underlying question - your application, given the appropriate permissions, will always be able able to publish a story to the users timeline. The act of giving an application any permissions is the same as allowing the application to act as you and access everything you would be able to access. This includes posting a story to your own timeline (even if no other user would be able to).