Is there a way to access the fields that each permission is mapped to from Facebook in a programmatic way?
Say I have a list of User connections which I want to cache (i.e. links, notes, feed, and games). I also want to get real-time updates to let me know if the read_stream permissions have changed, and invalidate the cache if app doesn't have read_stream permissions anymore. I could build a map, based on the documentation, that would tell me that read_stream affects links, notes, and feed. If in the future the facebook documenation changes to also include games in the read_stream feed, my application would be caching data for games without authorization if the read_stream was not valid, and I would have to modify that map to account for this.
Is there a way to, on the fly, obtain the maps that relate each permission to each field?
I don't believe there is a way to do this programmatically. For the most part, it's fairly well documented on their site. Maybe you could make a database version of this. Just be aware, Facebook is quick to change things and maintaining will become a chore. Happy Coding!
Related
Facebook removed the /{user}/home api on October 6, 2015.
I'm wondering if anyone knows if there are any alternative methods to access news feed data.
I've worked with /{user}/feed but of course that only shows data for the currently logged in user.
I've tested with my wife to be sure and she can only she posts on her wall and I can only see posts on my wall and neither of us can see each others posts no matter what permissions are set on them.
I'd like to think that currently logged in user could access any data via the api that they could via the site (assuming they've granted the proper permissions of course.), but this doesn't appear to be the case.
Of course I am particularly interested in the news feed and I suspect that the there is no alternative but I don't want to give up yet.
I'd like to think that currently logged in user could access any data
via the api that they could via the site
No, that would be a privacy issue, because your app could access data/posts of users who did not even authorize your app and no one knows what you do with the data. So the answer is no, there is no alternative.
Okay, this is a rather specific question but I'll ask it here since I don't find any form on FB's website, this looks like it's the official place for FB support so here I am !
I am a part of a company which produces a unique web application for visually impaired people. Long story short, we take content from a bunch of websites and webservices and centralize everything in a single application, which is accessible, vocalized and controllable using the keyboard.
We would like to add a Facebook client to the application, using the Graph API. To make an acceptable client we would need "risky" permissions such as read_stream and manage_notifications, but I read that they are only granted for Facebook Clients written for a platform on which a FB client does not already exist.
So here is my question : do I have any chance to have any of these permissions granted, or am I wasting my time developing an app which will never be approved ? In order to submit the app for reviewing I must start to write it, and I wonder if it will be worth of my time.
Thanks :)
As WizKid stated, read_stream and manage_notifications are not granted to anyone but are kept in the documentation for legacy purposes.
I'm writing a javascript application to get Facebook user's privacy settings.
Can I get them from privacy-setting table and is there any fql reference on the topic?
I'm pretty sure that what you want to do is impossible with FQL. The only privacy-related FQL tables (namely http://developers.facebook.com/docs/reference/fql/privacy/ and http://developers.facebook.com/docs/reference/fql/privacy_setting/) respectively contain information about the visibility settings of objects (like photos or posts) and the privacy settings a user has chosen with regards to the querying app. Meanwhile the users table (see http://developers.facebook.com/docs/reference/fql/user/) contains nothing privacy-related.
The Graph API similarly does not provide any means to access the information you want. The user object (see http://developers.facebook.com/docs/reference/api/user/) allows you to access all the same privacy-related information as FQL, but does not let you access the user's privacy settings.
Are you sure you really need to get the user's privacy settings? I'm not entirely familiar with this stuff, but I'm pretty sure that:
If you are concerned about whether posts your app makes on the user's timeline will be public, that is covered entirely by the information you can pull out of the privacy_setting table.
If you're going to be using extended permissions to post on the user's behalf via the graph API, then you get to explicitly specify the privacy settings of the objects you create anyway.
Perhaps I just lack imagination, but I can't think of any scenario in which knowing a user's privacy settings would be useful, given that for basically any object you post as a user you can specify to whom it will be visible and thereby override your privacy settings. What is your use case?
If you don't need to be 100% certain, you could always just pull the privacy settings of objects they've posted previously and see what the most common setting is, and then guess from that what their defaults are.
After looking for ways to check if a user has a given permission, I stumbled upon some obscure reference to /me/permissions, which, lo and behold, works!
For the life of me, I can't find the documentation on the Facebook Documentation - is it deprecated, or simply undocumented?
Given how often facebook changes things, should I even be using this?
They blogged about that:
As part of our efforts to transition
functionality from legacy REST APIs to
the Graph API, we added the ability to
retrieve the list of permissions users
have granted your app by adding the
permissions connection to the User
object.
And is part of the docs on the User object, under connections.
I been reading about Facebook applications for a couple of days now. I created an application and got an ID and SECRET.
The documentation recommends to use "Graph" for gaining extended permissions.
My question is, is it optional to have a popup, just like the rest of Facebook's popups? (a layer on-top the current screen, without an actual 'Window')?
My application is inside facebook, accessible using http://apps.facebook.com//
My goal is to ask friends of mine to grant this application: publish_stream and offline_access. Then I'm supposed to store their UIDs while granting, and I'm entitled to automatically share items on their "stream"? even a week after they've logged off?
Thanks.
Doori Bar
Yes, that's the idea. You request the permissions when they log in to the application and then iterate over the response to see if they actually granted them. If they did you can then use the information to publish to the stream.