Facebook: custom Open Graph needs Login? - facebook

I would like to share a link on Facebook and make it show up on the Timelime as a map.
I have seen some apps like Runtastic are able to publish links as maps, by definining the map coordinates inside the html source of the link.
Ideally I would like to share such links using the simple Share Dialog, without implementing the full Facebook Login systems inside my Android and iOS apps.
But I found this written on the documentation:
To publish Open Graph stories with the Share dialog, you do not need
to implement Facebook Login or ask for additional permissions. For
more information, see Share Dialog.
If you create a custom sharing UI to publishing Open Graph stories,
you need to implement Facebook Login and request the publish_actions
permission from people using your app. This also means you need to
submit your app for review, see Login Review.
Does it mean that if you want to share custom Open Graph stories, you always need to implement Facebook Login on your mobile apps?

As far as i know, and as i understand it, it depends whether you want to share it from inside your app or not.
If you want to share it from inside your app, then yes, you'll need a login.
If you are ok with just giving the link over to the facebook app, then giving permissions is al you need, and then make the final post inside facebook, as you usually are logged in aready.
How to create the Open Graph Object is described in Facebooks API:
https://developers.facebook.com/docs/sharing/opengraph/custom
And also is there another answer which could help you:
Using Facebook Open Graph Story with map attachment (GeoPoint)
I hope this helps you

Related

Facebook Open Graph actions for a simple website

I am trying to use the "Share Dialog" to share a URL on peoples News Feed. The URL I am sharing is using a couple of custom Open Graph actions. We submitted the actions for review, but the submission is getting declined because we don't implement Facebook Login?
The site is a simple marketing site, and we don't have any kind of login. Can we not use Open Graph actions without Facebook Login?
You don't have to implement Facebook login functionality. The message you received contains just the sample instructions (they used the example of the common app using Facebook login). In your case you should include rather something like:
Press the "Share" button (including screenshot of the page with the button)
Share the message (including screenshot of sharing box)
*Display message/other action after sharing (if applies)
Additionally you would need to brief how are you going to use the Open Graph actions that you are mentioning. And that would be enough.

Facebook JS Share Dialog and Timeline select

I have created a button on a test website which gets the user to post a custom Open Graph story using the Facebook Javascript SDK. (*** is going to an event).
However, my users do not get the option to post this action to their Groups Timeline, or share on a friends timeline – see the below Facebook sharer dialog, (where you are always sharing a link – I don't think you can use Custom Open Graph actions with the Sharer).
I've looked all over the Docs and can't seem to find a way to make this functionality happen – trying to avoid users having to login to my site with Facebook/ generate a user access token.
Any solution?

If Facebook Feed dialog is deprecated, how are you to share posts on Facebook?

I have been working on a Facebook app for some time, and we are having trouble getting the app approved. I feel like Facebook's app approval process is a constantly moving target and their explanations are provide the least amount of detail possible, leaving the door open for further rejections.
We are using a Facebook app to provide sharing functionality for products that are behind a paywall. All of our share buttons are custom, so they fit in our designs (we don't want to use the out of the box buttons). We first built the app attempting to use the recommended share dialog with open graph actions and stories. The problem here is that you can only use the share dialog with a shared link. Facebook reads any open graph tags on the page to provide sharing information, but because there are many different "products" on a given page, we can't use open graph tags. Because of our environment, we couldn't use the actions or stories. Furthermore, we'd like to customize that share information, so using share dialog is not an option.
Unfortunately, we had left our open graph stories and actions in our app when we first attempted approval. In our first denial, Facebook told us that we had implemented our open graph actions and stories incorrectly. We were not using the share dialog, but the 'feed' method, which is deprecated in 2.0 but still works. Thinking that Facebook looked at our app and noticed we were not using those actions correctly, we figured if we removed those stories and actions from the app, Facebook would see our share method worked and approve us. Wrong.
We had built the share using the publish_actions permission, along with FB.login() and FB.ui(). Facebook denied us because our app did not need publish_actions. They recommended we use the share dialog which did not need login or permissions.
We removed the publish_actions permission and FB.login(). When we tested this, you could still login to Facebook and perform the share WITHOUT fb.login(). So we thought it was good to go. It was not; Facebook told us we needed to implement login(), even thought the docs say you don't need it.
Now we have reimplemented login() and are going to try to get it approved again, but I have a feeling it's going to get rejected due to the 'feed' method being deprecated.
So my questions are:
A) If you have a website providing a paid service, how do you allow your users to post to their feeds, using the newer share method, with data you'd like? Eg: "I just completed the Get Moving III workout at teamexos.com!" The post would contain no pics or links. If it had to, a link to teamexos.com would be ok.
B) How do paid sites provide open graph actions and stories? Do they have public links to their products? Do those products have their own individual pages, with their own open graph tags?
First of all, the feed dialog is not deprecated, at least not anymore. You do not need to get anything approved for it, and you certainly don´t need login: https://developers.facebook.com/docs/sharing/reference/feed-dialog/
But: Your example looks like an Open Graph story, you should consider taking a look at those: https://developers.facebook.com/docs/sharing/opengraph

Facebook Like button for one facebook page of an app from it's own ios app

I am looking for Like Button to be shown in my ios native app, users of that app have already connected to app via facebook account.
there are several questions related to Facebook Like Button on stackoverflow but those are not specific to authorized single facebook page of the app.
According to official doc of facebook, facebook pages can not be liked via built-in action o open graph api.
But want only one official facebook page of that app to be liked by user when he hits like button. i don't want user to navigate away from the app or login again in web view to like facebook page.
is it possible to like app's facebook page without promoting user to log in again in webveiw?
Edit
Findings
1. https://stackoverflow.com/a/5837036/1632984
2. Comment by wallacer
"the general consensus does seem to be that you can't like a page on behalf of the user, however I just had an ios game like a page on my behalf. Extreme Road Trip successfully manages to get you to like their own page. I wish I'd paid more attention when I did it now..." – wallacer
This still can't be done directly using the graph api ( to the best of my knowledge ). What you can do is open a webview to the page you want the user to like. If you're rewarding their liking your app or something, when they close the webview (you'll have to provide a close button), you can use the graph api to check whether they like your app page. As far as I can tell this is the best current solution - and seems to be the approach taken by mobile games.
That said, I haven't used Facebook SDK 3 yet, so there may be something in there that could help you.
It appears that Liking a page on behalf of a user is still impossible. I've glanced over the iOS SDK Reference, and it doesn't seem like there is a built in mechanism to like anything.
However, in reading one of the other posts you linked to, and remembering that Facebook opened up the Like open graph action so app developers could allow their users to like content generated by their application...I found this link about built-in-actions (likes).
According to that link, you can post Like actions to your users by POSTing to https://graph.facebook.com/<user_id>/og.likes with the POST params for object (the open graph object URL you want to like on behalf of the user in this case your page's url. eg. www.facebook.com/yourpage) and access_token (obviously, for your user).
I'm not totally convinced that will work; though it is conceivable. My second thought would be to create an Open Graph Object for your page, and have all your users like that. Though, that is a little less ideal, as it removes the possibility of people finding your Page while they're on Facebook and would require you to put a lot more effort into getting likes for the Page via your website, application, etc.
I hope that helps a bit, good luck.

Add a tab to a Facebook page that allows users to post photos to already created albums

I am wondering if a tab in a Facebook Page can be created that would allow the users of the page to upload photos to the page's albums. I've looked everywhere for such solution, but I can not find it.
Does such ready solution exists? If now, can someone provide me with a ready solution for such functionality? I would be very grateful.
Regards,
Kiril
You need to use Facebook Graph API to achieve this.
Familiarize with the following links, they will put you on the right track:
http://developers.facebook.com/ (#1)
http://developers.facebook.com/docs/authentication/ (#5)
http://developers.facebook.com/docs/reference/api/ (#4)
http://developers.facebook.com/docs/reference/api/permissions/ (#2)
https://github.com/facebook/facebook-php-sdk (#3)
The first thing you want to do is create an app (#1). Then you need to authorize the page you want to use with your app (#2; offline_access, publish_stream is what you are after). If you are developing using PHP then see #3 link. This will make things easier handling signature_request.
Assuming you want to create a form on a Page that will allow anyone to upload pictures to your Page. Create file upload form as usual. Once you have the file, initiate file upload to the Page gallery using Graph API (#4; http://developers.facebook.com/docs/reference/api/photo/). You also might want to authorize every user who uses your upload form, to distinguish uploaders.