I am a PHP developer who was asked by a client to update their Facebook business page with changing statistics. Not by posting the information as status updates at an interval, but to update the Facebook page description like AJAX would update a page view counter. Is this possible? Can you point me in the right direction of how to implement this?
You're going to need to authenticate your application (this is also good reading here) and ask for extended_permissions, specifically the manage_pages permission.
This allows your application to login as a page.
Then you can modify certain parts of the page attributes.
There is a nice class available on phpclasses.org to aid in logging in with facebook, though their own PHP SDK is really nice when you get used to it.
Good luck!
Related
A team of some friends and I have come up with an app/product idea that we have been working on. I have to be vague on exactly what the details are, but hopefully I can explain it well enough to have the questions we have answered.
First, we have a web server with a database - we have developed all of the code for that in PHP. Each user will have a device which when an action is performed on the device, it sends a message to our server, and the PHP code on our server handles the message and stores the sent data in the appropriate fields in our database.
We want to run this through Facebook - we have an app and a Facebook page created for this. The idea is that when a user performs an action on his or her device and the message is sent to the server, the PHP code will automatically make a post on the Facebook page on the user’s behalf (not on the Page’s behalf).
Between all of us on working on this project, we have spent many days and many hours trying to figure out how to make the automatic post to the page. It’s extremely difficult googling this topic since all of the various examples are using different versions of the Facebook SDK (we are using the latest). There are lots of somewhat similar type questions/examples, but we can't find one that answers specifically what we are asking. In fact, we aren’t even sure that anybody but an ‘admin’ can post on a Facebook page with the new SDK, any longer. I do see this link in the Facebook developer section, https://developers.facebook.com/docs/graph-api/reference/v2.5/page/feed, where it says under the Publishing section:
Permissions
A user access token with publish_actions permission can be used to publish new posts on behalf of that person. Posts will appear in the voice of the user.
So, it sounds as if a user can post to the Facebook page if it is given an access token with publish_actions permission, yet we can’t find any example of code of this actually being done. Could anybody explain how to do the automatic posting to the page on a user’s behalf (hopefully, using PHP, since that is the language we are using on the server side), or at least point us to a good example? We are all experienced developers, but this is the first time any of us has done anything with Facebook development. So we certainly aren’t amateurs, but with Facebook development, we are. We may be overlooking something obvious, but after seeing so many links, my mind is jello.
A summary of our questions:
1. Can it even be done with the latest Facebook SDK that a post can be made to a Facebook Page for our product on the user’s behalf? (to be clear, we are talking about the Facebook Page we created for our app, not a user's page)
2. If so, what specific permissions do we need to give the user, just the publish_actions one? We don’t want to give the user too much permission to be able to screw up our page, of course.
3. Can this be done automatically with PHP from the server?
Any help would be GREATLY appreciated!
I need to read facebook timeline but I don't know how I can do. I don't find anything!! I use this library:
https://github.com/facebookarchive/facebook-php-sdk
Anyone can help me to suggest a tutorial or other something?
Here you can access the FB Developer pages.
They have examples and manuals for a variety of programming languages and tools.
Here's a few things you will need in order to read an FB timeline:
Facebook assigns a unique and fairly long ID to any account, whether profile or fan page. Users, however, don’t use this ID to identify pages. So the first thing to do in order to read a timeline is match the public name of the page (or user) to the underlying Facebook ID.
Getting the ID of the account for which you intend to read the timeline is only the first step. You also need to be authenticated to access the feed.
Once acquired, the access token can be saved to a cookie and used for every further operation until it expires.
You can find the whole article on this link.
There are a few code examples on the page as well written in C#.
Hope this helps.
I'm trying to SUGGEST, or CREATE an app, and I don't have any knowledge of facebook app creation... I've looked up on tutorials, but facebook's API might change or has changed by the date of those tutorials...
So I thought I'll ask on here, after searching for a facebook developer's support, I was redirected to here.
My question: What is the best way to create a basic app, as per my requirements (below)..?
My Suggestion/Requirements: I wrote this tutorial on superuser, which lets you display your current playing track as an updated div on your html based website. I'm trying to create a facebook app that posts these track info updates to the right side of the facebook home panel (above the chat column). Like Spotify! Or SoundCloud...
My Problem: I don't know where to start? I don't have much knowledge of scripting and according to me, it should be quite simple in PHP/MYSQL/Javascript/ ... but don't know how facebook would handle the html file from where the <div> data could be collected. I think jquery would solve that, but this can also be done via PHP/MYSQL.
It should be simple, so I'm also suggesting this as an idea for anyone willing to create this app on facebook? And if you create it, please do keep it open source project or a tutorial for it, so that if at any time you close the app, it can still be replicated. I cannot create it but am willing to, but don't know how to...
I'm asking this here because facebook doesn't appear to have a forum based posts for this apart from the developers group. I've joined the facebook developers group, but haven't yet been allowed to post anything, as the join request is pending.
That's mostly all. Thanks for any help.
Start with registering your application on Facebook .It will give you some token and keys.
Now you can follow any tutorial online to create application on fb.
I know this subject has been done already over and over. but... i must be stupid so i'll try to figure out my problem simply.
I have a facebook page, let s say that one :
http://www.facebook.com/pages/Medieval-Forgecom/302734029745018
with a few fan poeple.
now on my website i would like to give a discount to poeple who are fan of that page.
So i tried the php api (with an application id and secret) before discovering that this is NOT what i want as my page is not an app and has no appId neither secret. Am i misunderstanding something here?
So i m wondering how in php i can know if someone is fan or not...
If it is not possible i could use the javascript api to make this check ( wich is quite bad, it should be done somewhere via php) but even this way i get trouble with the deprecated api and the code refering to javascript inside the facebook website.
in a nutshell, i'm lost.
thanks for your time and attention.
Do some research on the concept of "fan-gate". I think this is what you're looking for.
https://www.facebook.com/note.php?note_id=10150130919053430
http://www.youtube.com/watch?v=fBBnrtG0hAw
There are three ways of using Facebook API. Social plugins are widgets such as comments or like buttons. You can put them into your site directly and easily. And then there is the Graph API. First way of using this API is to create a whole standalone Facebook application, such as Farmwille. Second way is to use it only at your site, out of the Facebook frame. Regardless of the type of your usage, you need to register an application on Facebook, so Facebook API can authorize you. Without that you can't use the API. You don't need to create a real standalone app if you want only to use the API at your own site, but you must register it and this registration is just called Facebook application. It can be virtual application representing your site.
I'm developing this Facebook Application and I was wondering if it's possible (and how) to programmatically, through the Facebook PHP Graph API, press some 'Like' button on some page?
Of course, this is optional on my application... I'm still not ready to really explain what application I'm doing, but it would be interesting to code such a feature.
Is it possible somehow?
By your description it sounds like you're trying to get a user to like something without the users knowingly clicking a like-button. This sort of interaction is not condoned by Facebook, I think. There are various black-hatty ways to accomplish this though, one fairly elaborate one is descriped here: http://www.liquidrhymes.com/2010/08/25/smoking-hot-bartender-is-some-smoking-hot-facebook-spam/
UPDATE Sorry, I might be wrong. If you get stream_publish extended permissions from the user, you might be able to like posts on their behalf by doing a POST to /POST_ID/likes. See Publishing to Facebook in http://developers.facebook.com/docs/api
You cannot do this. Facebok wont let you do a POST to /POST_ID/likes, you can only do a get request to retrieve their likes. What you are trying to do is a violation of facebook's TOS. I would suggest just adding a like button and "forcing" them to like before they continue with your application. However, in my opinion even that is kind of silly because they can instantly go unlike it after they have used your application.
i was looking for the same thing, but not to force a user into liking something, but actually for their own protection.
here is where i come from: on a web site (maybe on multiple pages) there is an "I Like" button, implemented as described by facebook.
each time a user goes to that page, the browser will make a request to facebook, throught the iframe that contains the button, providing all the info that we are used to from a web server log file.
if the user has in the past logged in facebook and not cleared the cache. the request will also contain the cookie indentifying the facebook user.
so even more then analytics, facebook know all about the user activity on those pages.
so i wanted the user to only give this info when they decide to.
my solution was to have a button (as graphic only) on the page. when the user clicks it a new frame should open and only there the facebook code should be executed.
obviously on the new frame i could not put the normal "i like" code, since that would require a 2nd click for the user. at this point i would need the "programmatically clicking of the i like button".
it is not an opengraph solution, but it works: the frame just does a redirect to
http://www.facebook.com/share.php?u=URL