Talk:Storable Data
From Facebook Developer Wiki
If facebook user info is used to autocomplete form fields on a page within a facebook application, or via facebook connect, is it allowable to store the submitted fields? If this is allowable, what would be the required statement, if any, to provide the user about their data?
Contents |
[edit] What if...
I want to generate an image from someone's name.. I'm not actually storing the text, but using the text to create an image. Would that be allowed under the ToS? It might be possible for someone to use OCR to read the contents of the image, so I'm worried this might be a bit borderline.
The TOS don't specify what form you may or may not store someone's name in, they just say don't do it... so don't do it ;-) --Garrett 00:43, 17 December 2008 (PST)
Can I store some relation between uid and uid ? Some thing like (but not) the friend table?
The last paragraph is very confusing because it seems to contradict the sentence: "For instance, if you collected information about a user's musical tastes, you could associate that data with a user's Facebook uid." Can someone update this page with some examples what's allowed or not allowed? Examples of how storing an event id without link to a uid is useful is also appreciated. --Marn Feb 6 2009
The last paragraph of the article says: "However, note that you cannot store any relations between these IDs, such as whether a user is attending an event. The only exception is the user-to-network relation." So, no, you can't store any relationship between UIDs. -- Pete (563683308 08:42, 29 December 2008 (PST))
Because, for example, if I look "are you interested" application, i can see who i liked, so the application stores somewhere the internal event "the user X likes the user Y in date GGMMYYYY". how is it possible that this kind of application always knows this kind of information if the app cannot store the relations between uids?
A Facebook user comments (replies to) a post originated on my offsite application in their stream? Can his reply be pulled back to my application and stored for others to see?
If we are interested in storing a user Movie preferences, could we give the user a button to click to query their movie preferences if we make it clear that we are storing that information separately from the data store at Facebook and have all the requisite privacy policies in place? Basically we'd just want to allow the user to do a one-time import of their facebook preferences in this area with no intent to maintain a sync between the data moving forward. - WPFreak 8/01/2009
- It's best if you ask your question on the Developer Help Contact Form. Make sure you select Storable Data as the category. Thanks, Pete (563683308 22:39, 2 August 2009 (PDT))
[edit] Creating Groups Outside of Facebook
Can we build an application that groups a given Facebook user's FB friends, or does that violate the TOS?
- I would say it depends upon what you're doing with the data when the user isn't using your application. It's best if you ask your question on the Developer Help Contact Form. Make sure you select Storable Data as the category. Thanks, Pete (563683308 10:23, 29 July 2009 (PDT))
[edit] Open Stream
It seems natural to add post_id for posts in the stream and perhaps id from comments on posts. Is this on the way? --Robert 02:04, 29 April 2009 (PDT)
- Yes, we're in the midst of revising our policies here. Expect something in the coming days. Thanks for the suggestion! Pete (563683308 11:47, 29 April 2009 (PDT))
[edit] What if we ask the user to provide the information again?
I realise that we can't store users' names alongside their uids, but what if a site asks them after logging in "What is your name?" with a blank text box. Then surely this input can be stored, because we are not acquiring it from Facebook? This is necessary because the API is terribly slow and sometimes I just want to return a list of names. Ditto for email addresses. Can someone confirm that this is okay?
- If the user willingly provides you with the data, then it's OK. Make sure you comply with SRR section 5.7 -- "If you collect information from users, you will: obtain their consent, make it clear you (and not Facebook) are the one collecting their information, and post a privacy policy explaining what information you collect and how you will use it." -- and any other policies concerning the collection and treatment of user info, including personally identifiable info.
- Also, keep in mind you can store the user's proxied email address. Users' email addresses can change so storing the proxied email address is more reliable in the long run. A user might also change his or her name, which would put your app out of sync with the user's profile information.
- Hope this helps. You can also take this to the Developer Forum if you want to broaden the discussion.
- Pete (563683308 14:48, 26 May 2009 (PDT))
[edit] Best Friends...
I'd Like to store some ids of the current friends in order to make some kind of Six Degrees Application. I will not store names or any other personal info. It's not clear to me if I will be violating TOS since I'm not saving personal info (I will get it all the time through the API) but I'm saving a subset of current user's friend. Can you explain it ?
- You still can't store relationships between two user IDs. You should call friends.areFriends or query the friend FQL table. Also, keep in mind this helps you make sure your application data stays current, as users can and do unfriend each other. Pete (563683308 16:37, 22 June 2009 (PDT))
Ok. what if I want to track down user's friendship evolution in order to get stats. I still can't imagine how six degrees application work without storing user IDS
- Perhaps they run a series of queries. However, with the new fql.multiquery call, you could build something similar, running the query when the user visits your application. Pete (563683308 13:28, 23 June 2009 (PDT))
Say I have a site with a business org-chart graph, and people use FB Connect to log in (linking their FB ID to my ID system, and then I of course link my ID's in various ways -- I'm pretty sure other FB Connect sites like Yelp allow the same thing with their friend systems)...1) Does that count as linking FB userID's against the Terms? I don't think it should, but Facebook hasn't been very clear about this in any documentation I could find. 2) How about if I never run any queries that link FB ID's...just my own ID system...is that then ok...is that what is requried? 3) What if they provide their ID's in a manner that is NOT through FB connect (ie listing what their Facebook profile is in a profile field)...are those ID's subject to the Connect Terms? 4) Is the answer that we can store our own relationships (that users state on our site) between the ID's -- just not those relationships we query from Facebook? Thank you.
- You should ask your questions on the Developer Help Contact Form. Make sure you select Storable Data as the category. Pete (563683308 01:43, 31 August 2009 (PDT))
[edit] Caching Friends
I have a related question. When a user first logs into our website with FB connect, we find all of his/her friends who are also using the service (and previously logged in with FB connect). Obviously, we do this by finding which uid registered with us in the past. We would like to cache this information for two reasons. First, it seems silly to always recompute this list, especially if the user has 500 friends and only one person use our website (we would provide a refresh button instead). More importantly, sometimes user do not log in using FB connect. We would like to have a consistent UI and always show the list of friends. Asking for double login is really annoying. Now, when we compute this subset, if we explicitly ask the user, can we store it in our DB? By explicitly, I mean something like: "Some of your friends are also using X.com, would you like to add them as connections on X.com?". Note that while it's true that we store an implicit uid-uid relationship, in reality we store a relationship between two of our own users. Thank you!
- Are you familiar with Friend Linking? See Account_Linking#Friend_Linking for details, as that should help you with your second question. But otherwise, at this time, you can't store/cache a user's friends. Pete (563683308 15:12, 25 August 2009 (PDT))
Thanks! We knew about friend linking, but discarded the option at first because we thought we could easily compute and cache it. But now we will use it and friends.getAppUsers. It make senses. I will think about a nice way to handle the double logging issue. It's problematic though, because once a user started to share and create derived data with friends, logging in without facebook connect would yield a very different site. It makes it harder on us. The only way to have only one version of the site would be to force the user to FB connect. Hence the double logging. Otherwise, we would have to hide all the shared data and the user will be confused not to see the app in the state it was before.
