Is there a way to update a photo and its message? - facebook

I'm developing an iOS App which uploads some photos on Facebook.
I'd like to update the photo I uploaded earlier and also its associated message when data is updated in my app. Regarding the Facebook Graph API documentation, I believe there is no permission to do that, am I wrong?

I'm not sure I completely understand your question, but here's what I gather.
There is a permission that allows you to manage photos, ("user_photos"), which is listed under facebook's permissions reference.
I gather you want to know if there's something that would allow you to update a photo. To my knowledge the answer is no. However, you can easily delete the object instead, and then simply reupload the object, which I gather you've already implemented.
In the Graph API, every photo is an object with a url where it resides, so if you send a 'DELETE' post request to the url, you will be able to delete the photo.
It's described in http://developers.facebook.com/docs/reference/api/ under "Deleting".

Related

Facebook publish_actions deprecated: Upload a photo

We have an ElectronJS program where we'd like people to be able to take a photo and upload to facebook. However, after reading facebook's documentation, they have removed the publish_actions permission.
Further reading of Facebook's documentation makes reference to using their graph api sharing (https://developers.facebook.com/docs/sharing/reference/feed-dialog).
However, it's not exactly clear as to whether or not a photo can be uploaded or the only option is to be shared as a link?
I was hoping to get some clarification, now that they've removed the publish_actions, what now essentially?
Alternatively, are there any other solutions?
Cheers
You can only share URLs, there is no uploading via the dialogs.
You will need to upload this photo to your own server first, and then create a URL that returns the appropriate OG meta tags, including the one for the image you want to use as thumbnail. (You could also share the image URL directly, but that usually doesn’t look very nice.)

Facebook API for Share returning empty results set

I am new to Facebook API. I am building a Facebook app to fetch all the name of people who shared, commented and liked a post in a tabular format. I am able to get the like and comment details through Facebook API but can not find and proper API to get the share details.
I am using
https://graph.facebook.com/post_id?fields=sharedposts&access_token=my_access_token.
This API is returning an empty result set. And I have granted all the available permission to the access_tokn. Can anyone tell me ,Is there any other API that I can use. I saw a option of scraping the Facebook page for share,but I don't want to go that way because Facebook keeps on updating every thing.
I'm having the same problem as you, but I think I'm going a little step forward.
Try adding a limit to your sharedposts and maybe it will return some data:
Try this way:
https://graph.facebook.com/post_id/sharedposts?access_token=my_access_token&limit=1000
That should work for a regular post.
EDIT: Maybe the problem could be that althought you have granted all the perms to the token, the people who share that posts have to accept that permission too.
Otherway your JSON won't return any data.
The /sharedposts endpoint will -only- retrieve posts from users who have -also- granted your app. This means that even though a post might be public on a users' timeline, unless they have also granted your app permissions, you will not be able to retrieve that post.
For example: a user posted to a page and the post is public. This post can be retrieved with an access token. Let's assume that the user also shared this post to their own timeline. But, since the user has not granted permissions to your app, you will not be able to see this post using the /sharedposts edge on the original post (on the page). This also holds if the user shared their post publicly to his timeline.
This behaviour is by design; the API is more restrictive in returning user data than the website is. This holds for multiple endpoint and this is one of the examples where it is the case.
Source: https://developers.facebook.com/bugs/1404733043148335

iOS Facebook Can't post source image to wall can only post links

So from reading around a bit on this issue, it is becoming apparent to me that I cannot post an image/photo from my app to my wall as a source attachment. The only way I can show an image in a wall post is by linking to an image on the internet. I can only post a photo form within the app to the photo album on facebook.
So my question is, does anyone know how I can get my in-app image posted to my facebook wall (and not posting the image to the photoalbum)?
Sounds like you have the same problem I had just a couple of weeks ago. Did you also get the error message starting "FBCDN image is not allowed in stream..."?
It seems you've already figured it out, but since Facebook isn't quite as informative towards developers as they could, other readers may benefit from this, too.
Your app can easily send photos to the user's Facebook photo album
Your app can easily post to the user's News Feed
You can even use Facebook Graph API to pick up the ID of the photo you just sent, and use that to assemble the URL for the photo (the URL works just fine – typing it into your browser will show the photo, no problem)
BUT your app simply cannot use the photo URL in any News Feed Posts. And contrary to what one might assume, this is not a bug or any other problem you could fix, but a Facebook policy since summer, 2010.
Here's the official RSS feed stating their decision:
Serving Images in Stream Stories Jun 18, 2010 3:21pm
We no longer allow stream stories to contain images that are hosted on
the fbcdn.net domain. The images associated with these URLs aren't
always optimized for stream stories and occasionally resulted in
errors, leading to a poor user experience. Make sure your stream
attachments don't reference images with this domain. You should host
the images locally.
In conclusion, if you must have the News Feed post, you need to host the photos on your own server and link to them in the post, as Siegfried said. Although, some successful developers would argue that if you want to make your app scalable, in case it becomes the next big thing in App Store, avoid using your own server (See the Pulse News app's makers comments here: http://itunes.apple.com/us/itunes-u/developing-apps-for-ios-sd/id395631522# - hack #3)
As for me, since my app's so tiny, and I'm a small-time developer, it didn't make sense to start hosting stuff on a server of my own, so I just settled to uploading the photo to the user's Facebook account anyways and using the photo caption to tell the user's friends what I had to say, instead of the wall post.
I think you should use a server with some php scripts - then use ASIHTTP library or sth similar to upload your photo there - as a result you should get a link to the photo on your server. then use it while publishing to fb.
sounds scary but it's not that bad - ASIHTTP is very straightforward, there are tons of php scriptw for uploading photos on the net
Facebook now allows images in the wall posts that are hosted on fbcdn.net domain. It may not completely answer your question as you don't want the images in the photo album. But here are the steps.
Get photo_upload permission from the user
Once granted, upload photo to an album (users can only post photos to their own albums)
In the callback, you get the id of the photo object just posted.
Get properties for this photo object via another graph api call.
In the callback, you get all the properties - search for the object url
Create a wall post and use the retrieved url (in step 5) in the attachment.
It will display the image in the wall post. However, if you don't want to upload images to user album, you still need to host the image somewhere before you can include the link.
I asked this question a while ago and figured out an answer too. Here you go:
Facebook Connect on iOS - Picture doesn't display with wall post

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.

Can I upload photos but not post to wall in Facebook?

Can I upload photos using Facebook API but not post to wall in Facebook?
What I use is the photos.upload in the API.
If it cannot be avoided, is there any way to delete that wall post so that I don't have to do it manually?
Documentation of graph API (http://developers.facebook.com/docs/reference/api/photo/) mentions the following:
If you would like to suppress the
story that is automatically generated
in the user's feed when you publish a
photo (usually because you plan on
generating your own), you can add a
no_story=1 parameter. In this case,
the user will receive a notification
that your application has uploaded a
photo.
Adding the same parameter to the legacy REST API seems to work for me
Let me answer my own question:
It's about the permission problem. We can set the permission so that the photos do not publish to wall.