How to protect tagging apps from being disabled? - facebook

I tried making two-three tagging apps that creates photos like , What my friends are scared of, It has the name and the picture of my friends and it asks them if they want to post too.
but still somehow when my apps get viral, Facebook deletes it.
https://apps.facebook.com/job_checker/
here is my newest (test app)

You need to read the Facebook Statement of Rights and Responsibilities.
Point 5.9 "You will not tag users or send email invitations to
non-users without their consent."
Also read their examples and explanations on authentic tagging.
https://developers.facebook.com/docs/guides/policy/examples_and_explanations/photos/
Your app seems to do exactly what they are trying to prevent.

Related

Is Facebook now anti-social, or is there hope for connecting users with their friends via API?

My latest project has (had) a requirement for the user to invite their friends to their online service. I discovered that, apparently, as of April 2015 with the new v2.0+ Facebook Graph API, you cannot actually get a list of friends for the user, unless those friends are already subscribed members of your app.
The scenario:
My app is a web service that lets the user collaborate on research work in a private group online. The user needs to
look up their list of friends,
set permissions their friend will have in the group, and
send them an invitation both join the service, and the specific group. (using a unique, one-time use link tied to each recipient)
The user would (ideally) receive an invitation with a specific link for them to not just become a subscriber of said online app, but specifically to join the group they were invited to (i.e. not just a generic "hey, check out this app" type of invitation).
The expectation:
The user doesn't care whether their friend is already a member of "MyApp.com". They expect to simply look up their friends just like they do today from their phone when they connect it to Facebook (makes all contacts available, regardless of whether those friends connected their Facebook to their phone, respectively). Likewise, compare inviting members to your Google docs, for example: look up your contact, set permission, send invite - so easy. Users demand this UX simplicity today and do not distinguish or care whether they are dealing with email, Facebook, Twitter contacts, whatever.
The problem:
The entire point of a social network is to be, well, social. If the Graph API only lets my app access friends that are ALREADY users of my app, it completely defeats the entire purpose - it cuts my user off at the knees, kills UX, no more ability to actually contact their own friends. My understanding is Facebook made this change to prevent developers from spamming users, and I get that, I completely support that. HOWEVER, my company and my app are not the ones that are trying to invite friends for it's own purposes, it is the USER and THEIR OWN friends that THEY have the right to access and converse with for their purposes (or so you'd think). Beyond just friends list, even if I had that, I think there are additional hurdles and limitations with posting messages to friends, even private (not wall) messages, which again would be anti-social.
The Question:
Am I understanding Facebook limitations properly, and if so, what is the work-around? I'd be ok with such an API being locked down until you pass a review that proves you aren't spamming users, but I did not see such an option.
Facebook supposedly prioritizes users over developers, and these changes were made because if the user is not comfortable with privacy (don't spam my friends), then they wont be users any longer, and that obviously affects developers and Facebook. OK, but did they not realize that by locking it down this extreme just killed UX for the user in legitimate scenarios? And to my original point, not just a little, but paramount - the result quite literally is that on April 30, 2015, Facebook became anti-social. Surely this is not inline with their mission. Surely there is a better approach.
If your app is not a game (which I assume), the only viable option would be the Message Dialog as desribed at
https://developers.facebook.com/docs/apps/faq#friend_invite
If your app is not a game and has a mobile or web presence:
You can also use the Message Dialog on iOS and Android, or the Send Dialog on Web. These products let a person send a message directly to their friends containing a link to your app. This type of message is a great channel for communicating with a smaller number of people in a direct way. The Message Dialog and the Send Dialog both include a typeahead which lets the person easily select a number of friends to receive the invite.
You might also find App Invites useful but I beleive it's only for iOS and Android apps and might not exactly fit your use case:
https://developers.facebook.com/docs/app-invites
App Invites are a content-rich, personal way for people to invite
their Facebook friends to a mobile app.

Facebook SDK: Post scores without publish_actions or another alternative?

I am using the Facebook SDK Score system to post the scores that the users have on my game.
However, to do so, the users must approve the publish_actions request (which pretty much nobody does :P).
I have seen lots of other games that keep scores without requesting publish_actions.
How can I do it?? Or at least modify the message that publish_actions gives to the user (to say that I only want to post the scores to the servers and not to their timeline)
(the game is made with Unity 3D 4.6)
You can use the share /feed dialog to publish these posts. This prompts a user to post a story instead of implicitly publishing after getting permissions. The user can still choose to not share this post, but you at least more flexibility this way.
A sample call looks like :
FB.Feed(
link: "https://example.com/myapp/?storyID=thelarch",
linkName: "The Larch",
linkCaption: "I thought up a witty tagline about larches",
linkDescription: "There are a lot of larch trees around here, aren't there?",
picture: "https://example.com/myapp/assets/1/larch.jpg",
callback: LogCallback
);
Also, this is a good read for what else you can publish with it.
https://developers.facebook.com/docs/unity/reference/current/FB.Feed
Like above answer share is good option. If your application is seems trsted to users means they will give user permission to your app. Try to get that permission, You only need to get user access one time. For sharing post every time it asks users, so user may not accept that.

Deprecated offline access in Facebook

I just created last week an App and I've read that offline access doesn't work with newly created apps.(I haven't found any tutorial on the web. I am really new to facebook apps)
with this new change in facebook, I don't know how to use the current thing.
I badly need this feature because I don't want the user keeps logging-in in facebook everytime he visits and posts a status in my site as well in his facebook wall. I just want the user to be stayed connected and be able to post on his wall automatically thru my site once he authorized my app.
Thank you.
There are very clear and simple instructions on the following documentation to explain what you need to do to switch to long-life access tokens:
https://developers.facebook.com/roadmap/offline-access-removal/
Also, from your description, it sounds like you are spamming and breaking Facebook Platform Policies. Users will hate any app that automatically posts on their behalf, so I recommend you do not do that, as either people will stop using your app or they'll report it and it'll get banned.

Facebook Graph API - see which of a user's friends of friends also have my app installed

Would it be possible to have an app that returns the friends of friends of the current user that have the app installed? I understand that this may be impossible due to privacy issues, but is there not some sort of requirement that can be imposed when the app is installed to make this information public to everyone and so to the current user?
EDIT:
In fact, users will be entered into my own database so what I really need to be able to do is search through all of a user's friends and for each one query whether they have any friends who match a name/id in my database.
Nope, apps can only access information for friends of the current user, but not for friends of those friends again.
Otherwise, the “operating distance” of an app could be quite huge, without people even knowing what way an app was able to get access to their information (or that it even did get access at all) – look at it this way:
If you do not want to generally disallow apps to access some of your info when friends are using them, because it has some (social) benefits from your standpoint, but you have this weird guy/girl amongst your friends, who’s using sh*tloads of apps and giving them friends-permissions all the time … well, no problem, unfriend him/her, and all’s well. But now let’s say, that guy/girl/dude/whatever is not directly friends with you, but only with your younger brother (who you’re FB friends with in this scenario, of course) – you’d have to actually unfriend your brother for this to stop … and, not knowing your little brother (or whether you even have one) – I’d still guess this would not be what most Facebook users would want.

Is it possible to download all photos that are tagged with a specific user?

I got married over the weekend and since I wasn't able to snap pics of myself, many of our friends did. There are just too many photos to save so I figure let's use some PHP magic to download the photos that are tagged with my name. Is this possible?
Let me clarify, I'm not interested in making an app of any sort. Preferably, if I could use curl to grab all photos, that would suffice. Everything I've read thus far says I need to sign up as a developer.
You can get the photos with graph api. Source: Graph API User. The photos option provides all the photo owned by you or in which you are tagged in.
You still need to register an app with facebook for this. Registering an app is inevitable. It is up to you if you want to make it public. You need api_key and api_secret to access privilege on user's "private" information.
You can get it done by an account who is registered developer or register yourself as an developer.
To register yourself as a developer you need to share either your contact no. or credit card no. I have been registered with facebook as a developer but i have never had problems with the privacy.