Updating/Deleting a user's status updates - php

Is there a permission that will allow me to update the privacy of a user's news feed item (status update), or delete it. In the manual there is only documentation on how to delete posts that your application made. I can understand this, as I wouldn't want an application I'd installed messing with my posts in such a way that was not easy to trace.
However, my use-case is this. Stuck with a timeline where everyone can see my old posts, I had to put everyone on the restricted list. I'd like to change the visibility of all my posts so that only I can see them, and no-one else and then take everyone off restricted.
So, is there some way I can do this using the API?

Updating a post's privacy or deleting posts made by a different app aren't available via the API. I spent hours cleaning this all up manually when timeline launched, and then I just ended up deactivating my account anyways. The only way to do this programmatically would be to scrape their site or write some kind of greasemonkey script, both of which would probably violate their terms of service.

Related

Posting on Facebook Page on user's behalf

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!

Updating status of a page remotely with PHP

I have an online blog which is custom written, by myself, with PHP. The articles & other features publish themself on a predefined date, which means that I can have 2 months of future content already lined up & writen, meaning that the site is constantly updating itself without my assistance.
Now I want to be able to update the facebook page, asociated with the blog, automatically. Is it possible to do this? All I want is for a new status to be made every time a new article is published, without me having to do it manually.
Any help would be great.
You would need to set-up a cron job (Scheduled task) to make this possible. This can be viewed in the administrative panel.
You need to assign a (cron) file that lets you check your articles publishing date and today's date.
Have you looked into facebook's api and what it could do with facebook pages. I have never tried exactly what you want to do, but from my experience it seems that is very likely. I know you can automatically request an access_token and use that to publish updates onto a pages wall.
I think the combination of these two articles is what you are looking for:
How to update a facebook page status using the facebook api
X
Update your Facebook status using PHP and Graph API

Facebook API. Remove tags, wallposts, messages from a certain user

I'd like to remove as much as possible of my history with a certain facebook user via the Facebook API.
I want to be able to remove photo tags, wallposts, messages that I am tagged in, or associated with the certain user.
Is this possible, and if yes; how?
Blocking the user will go a long way towards removing most connections with the person in quesion. Go to Account->Privacy Settings->Manage Block Lists, or go to the users profile and look for the "Report/Block" link under their friends/family lists.
This FAQ about blocking describes a little about what happens when you block someone. As far as photos goes, it's a little unclear:
Photos: If the blocked person tagged you in any photos before the block, you’ll still be able to see those photos. You might also see photos of the blocked person if they are tagged in another friend’s album, but you won’t be able to click on their name to see their profile.
You do automatically get un-tagged from all their photos when you block someone. I'm guessing wall posts you're tagged in are removed as well, although I only tested with photo tags.
As far as removing their posts to your wall, as Igy pointed out you can't write an app that uses the API to delete posts that it didn't create. So, what I would do is write an app that gets all the posts on your wall and filters them, something like this pseudo-code:
posts = api('/me/feed')
for each post in posts:
if post.from.id == [blocked persons id]:
output post.id
Post ID's from the Graph API are in the format USERID_POSTID, so there are two ID's separated by an underscore. So for each ID in the output, go to https://www.facebook.com/permalink.php?story_fbid=[POSTID]&id=[USERID] and manually delete the post by selecting "Remove post" from the little gear menu on the top right of the post. Use the paging data from your API request, or until and since parameters (which are just UNIX timestamps, or any string accepted by the strtotime function), as described on http://developers.facebook.com/docs/reference/api/ under "Paging", to get all posts going back until the beginning of your wall.
If you are wanting to automate this process to make it available to end users and not just yourself, there are technically several ways you could go about it, although they may or may not violate (Terms of use)[http://www.facebook.com/terms.php]:
[3.2] You will not collect users' content or information, or otherwise access Facebook, using automated means (such as harvesting bots, robots, spiders, or scrapers) without our permission.
I'm sure there are ways of implementing such an app that doesn't violate these terms, for example providing a link to the post so that they can delete it themselves, rather than automatically deleting them.
http://suicidemachine.org/
I'd look into their code.
From their FAQ on if you can make your own:
Theoretically yes! Practically no (or let's say, not yet)! You'd need a Linux WebServer (apache2) with perl and python modules (php should be installed as well). Further, you'll need VNC-server and Java packages by Sun to launch selenium-remote applets. If you feel like contributing and can convince us with decent programming skills, please get in contact with us via email. We don't make the source code publicly available, since Facebook, Twitter, Myspace and LinkedIn would figure out how the suicidemachine is working in detail! So, please do not contact us, if you work for one of these companies!
I'm not even sure (personally) why you'd want to do this, surely you'd either want to block the other user or just remove them as a friend, but to answer your question:
It's not possible to delete most types of content via the API unless the App ID you're using was the original creator of that content (e.g an app for posting to your wall can delete the posts it made, but not posts made by other apps or on the Facebook.com interface)
Check the documentation at http://developers.facebook.com/docs/reference/api/ - you can definitely remove likes and comments of photos and wall posts - there may be other ways to do this (e.g retroactively changing your RSVP status to an event both users went to)

Facebook Application and posting to a Page Stream

As usual, I'm having problems due to a lack of clear guide in the Facebook API Documentation.
Basically I have created an application that is installed to Facebook Pages, I want to periodically post automatically via my server to the Stream of these pages (of course, willing to have it authorised, etc), but I am just unable to find how to do this. I've looked at stream write, etc, but not sure how to best make use of this. I've looked at Extended Permissions, should this simply just work for Pages? I'm experimenting but not having too much luck at the moment.
Any ideas guys? Also, am I able to make use of the new "targetting" of users that Page administrators have when posting to a Page now?
Sorted out my previous problem, simply now wondering whether I can location target posts as Page admins are now allowed to do.
I am using PHP with the latest library updates btw.
Big thanks!
The way to post feed stories/streams is to use stream.publish function, check it out here:
http://wiki.developers.facebook.com/index.php/Stream.publish
And for automated publishing, you need to use cron job, here is how to get started with that:
http://www.aota.net/Script_Installation_Tips/cronhelp.php3

facebook application update

I developed a simple application on Facebook using PHP and I want to know how the people can add this application, and after adding the application a update is generated (e.g vipin join this application).
Thanks
Users don't add applications anymore. The closest they can get is bookmarking, which your application receives no notice of. The closest thing you can get to checking as a developer is checking is Users.isAppUser.
You also don't receive notice when a user grants/rejects permissions (which is generally a prerequisite to viewing your application).
Basically, you have to post notices and create feed entires in direct response to user action (unless they've granted you a perpetual session).
The old model of actually adding applications was all kinds of broken from a user experience point-of-view, so Facebook basically pulled the plug on it.
Yup, no more "Dude just added this app" messages in the newsfeed. However, Facebook will occasionally show "Dude uses the 'Thing' application" messages under the "highlights" section of a user's homepage. There's nothing you can do to encourage or discourage it -- it just happens.

Categories