Facebook SDK: Post scores without publish_actions or another alternative? - facebook

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.

Related

With the "user_status" Facebook permission, can I make an app to show the user their personality?

I have an app that analyzes text comments and figures out the personality out of it. I'd like to integrate Facebook in it, but when checking the user_status permission, I read:
(OK) Provide creative content from status updates.
(OK) Provide value to the user by visibly analyzing the content of their past statuses.
(Not OK) Non-visible use of this data such as sentiment analysis or
guarding against spam bots.
The app will show the user their personality. It analyzes the content of their past statuses and provide value to the person, they know something more about their personality and, depending on which category they fall, they will see a picture and a brief description of it.
I'm not sure about the last point, does my work count as doing "sentiment analysis"? The use of this data is completely shown to the user.
I was wondering this because I couldn't find any app that do this after the recent changes of last April in Facebook.
Since to request the permission Facebook wants to see everything in action, knowing this is not permitted at all in advance will save me some coding.
Thank you!
Not sure how to properly answer my own question, with the answer coming from another website, but I got a very kind feedback from David Doyle on the "Facebook Developer Community" group on Facebook.
We see a lot of apps that do or claim to do similar to what you're looking for. Permissions can be approved in these cases if the content is clearly influenced by the information a permission provides, is clearly visible to people using the app and results vary based on the information provided.
Where some apps might fall down with requests like this is claiming "the answer is custom based on your user_status" but in reality, the answers are always the same - or there's a core set of answers that are rotated and the information provided from login are never used in the app.
Hope this makes things a bit clearer!
Then he added
What I mean by clear visibility is that if I'm a person signing into your app I should know why you're asking me for user_status.
When I get my result, I should know how my status information contributed to it.
Permalink to the discussion, if you're in the Facebook group: link

App autopost to Facebook

So, I want to build a web app that posts let say funny cat pics to a users Facebook wall. The user allows the web app to do this via the publish_actions command. Yeah, I know this sounds spammy but it isn't.
Now, on Facebook Developer documentation pages it's described as follows:
"Enables your app to post content, comments and likes to a user's
stream and requires extra permissions from a person using your app.
So, to me this sounds that it's possible for an web app to publish content without the need for the user to grant every single update?
But, reading about it in the "Login Best Practices" section I read the following sentence:
When displaying the Log in with Facebook button, emphasize that
your app will not post to Facebook without people's permission
Source:
https://developers.facebook.com/docs/facebook-login/checklist
So, my question is – is it or isn't it possible?
To my knowledge, the publish_actions permission allows your app to post to the user's wall without having facebook itself ask for permission again.
However, it is good ("best") practice to always make it explicitly clear inside your app that "by clicking here, I will post to your timeline".
Basically, this is Facebook saying that you should handle this asking inside your application, in a way that best fits your application's logic.

Is Scheduling Posts Permitted By Facebook?

Im toying around with integrating facbook into a website. Basically this website will generate acheivements for each user after X amount time (starting from a day up to a year).
I want to post these milestones to facebook automatically (with users prior permission). Does facebook allow this?
This article seems pretty darn explicit that its not.
But i have seen lots of posts on SO that are scheduling posts while trying to figure this out. Perhaps i have terminology's mixed up or something. Could someone explain this for me please.
If its not possible, does this mean that the only time an app can post to a users facebook wall is when the user explicitly clicks something to the effect of "post to my wall". Meaning they would need to login and manually approve every milestone?
Thanks
No, it's not possible to post something on behalf of a user automatically. According to the facebook's policy, even if a user grants you a publishing permission, actions you take on the user's behalf must be expected by the user, i.e. user must be aware of the actions you are taking on his behalf. As the article says, this can be done, for example, by prompting user with a dialog box with a link to Share a photo to their timeline each time your app would like to share to the user’s Stream.
Facebook however permits scheduled Page posts, but I guess this is not what you want. You can read more about it here.

Facebook will not allow me to post to a user's wall without a dialog. How can causes.com get away with it?

I have an app that allows users to share the page to specific users by clicking on check boxes next to their name and then doing a bunch of posts. I received an alert in February that said I would not be able to post to friends' walls unless there is a dialog box.
However, I noticed if you sign a petition on Causes.com, they do something very similar where they post the petition to a bunch of friends' walls.
I'm curious how they get away with that. Maybe I'm not familiar enough with the Facebook API.
I'm not sure if this helps, but Facebook does have business partnerships with certain sites/companies that have more privileges to their api keys, facebook app. This could be one of these instances.
One instance of this is, when you go to a major site and the site is able to read your facebook session, and within that site they show your name and picture once the site is rendered. In essence, these sites already know who you are.

Facebook Policies: Can my application automatically post stories to my Facebook stream?

According to the Facebook Platform Policies:
You must not pre-fill the user_message
parameter or content sent via an
extended permission (such as a status
update or note), unless the user
generated the content earlier in the
workflow.
Does that mean that I can't publish stories to the stream automatically, even if the user agreed to?
I've seen apps (such as PlayStation Network, Foto Diaria) that publish stories automatically.
PlayStation Network publishes stories about actions you did in PS3 games and Foto Diaria publishes a picture from your wall every day. In both cases the attachment is created by the application, and the user message is empty. Could that mean that publishing stories with an empty user message (empty, not absent) is not considered pre-filling?
EDIT: I need to know what is allowed or not by the Facebook Platform Policies, not how to post stories.
If you ask the user for the publish_stream extended permission then you'll be able to post automatically whilst the user is interacting with the application. You can pre-fill the user message only if it's something that the user has entered earlier in the process e.g. if you've asked them to comment on a piece of content and then publish a story about the comment. If in doubt, leave it blank.
If you want to publish automatically even when the user isn't online then you'll also need them to grant the application the offline_access extended permission. In this case you'll also need to store the session key that Facebook gives you for that user.
https://developers.facebook.com/docs/guides/policy/examples_and_explanations/stream_stories/
Check this out. The Platform policies section of the FB Dev site has some additional documents to allow you gain a better understanding of the guidelines for sharing.
Please also read the section about User Feedback.
https://developers.facebook.com/docs/guides/policy/examples_and_explanations/user_feedback/
Hope this helps.
We can ask user to grain of offline_access permission, which is access to user profile at anytime, even if user is not online. But this permission will no longer available.
I agree that this permission is so harmful to user.
But it still useful if owner app want to post to their own account during user use their app. If you want to post to your self account, you can manually grain offline_access to your app, and select access_token and keep it in your own app, and use it when you need to post your account. It make sense that Facebook should allow developer to do this task.
it is simply forbidden but, there is a catch about it, if is text prepared by user previously, you can post that text later and I think you are able to add your own text to that. But not so sure..
I'm saying this based on McDonald's Canada's yourquestions app, you can ask questions to them, whenever its answered they posting to your wall.
But to clarify that, as a PMD I'll ask to FB personally and let you know what is the answer is.