facebook get events from page wall - facebook-graph-api

I am trying to get information about events taking place in a club from their Facebook page. Problem is, that the club doesn't create the events itself. They just post links to the events on their wall. I have troubles accessing the links.
What I tried:
GraphAPI PAGE_ID?fields=posts.fields(link)
This returns all posts, but the link field is empty in the posts with link to an event.
GraphAPI PAGE_ID?fields=links.fields(link)
This works perfectly, when queried in Graph API Explorer. I get correct links to the events. However, when I use this by php sdk, I obtain only part of the links. The newest link I get is from September, even though there are lots of them after that. All of the links are public. Even if I am logged out, I can see them.
I also tried using FQL, but it didn't lead to anything. I am quite convinced, that the second way should work and I can't figure out, why not.
EDIT:
I tried to query directly the links by their ID. When I ask for the link, that I didn't see by the method 2 above, I get "Unsupported get request" error. I think it might be problem with permissions, but I don't understand, why I can get the older links then.

Related

Missing Posts when Accessing /me/feed via Graph API

I am currently attempting to retrieve all the posts on my Timeline via Facebook's Graph API. My Likes and Links and Posts appear to retrieve just fine, but posts from friends do not appear to be displaying.
For instance, a friend shared a link on my timeline, and that is currently not displaying in the returned data in my request to /me/feed.
I've tried turning on all permissions, but can't seem to get that particular post in my return data. Is there something obvious I'm overlooking?
Thank you for any assistance,
Michael
If a users permissions for a post are set to anything other than public if could be omitted from the result set.
Check the privacy for that missing post.
refer to: https://developers.facebook.com/docs/reference/api/privacy-parameter/
me/feed privacy: https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=me%2Ffeed%3Ffields%3Dprivacy
Please test with Graph API explorer, https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Ffeed, click "Get access token" button and tick "read_stream" check box under "Extended Permissions" tab. Then submit and proceed authentication process.
After authentication dialog done, click "Submit" and try to test to get the link shared by your friend. I've no problem to see this kind of feed. Of course, you can create a new account and behave as your friend for easier to test, otherwise you need go through pagination to get the target feed.

Facebook unreliably reading OpenGraph attributes when publishing to newsfeed through Graph API

We have a Facebook app that publishes URLs to a user's newsfeed via the Facebook iOS SDK. These URLs are for pages that have OpenGraph attributes defined and we've verified in the Facebook Linter that it's correctly defined.
However, periodically we are seeing that Facebook won't correctly parse the OpenGraph attributes and have less than a stellar post to Facebook:
We will most often get posts parsed correctly resulting in posts like these:
We'll periodically get posts like these:
However, you can see this later post works correctly in the FB Url Linter: https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fchewsy.com%2Fr%2Fa%2F1bhLT.
However, sometimes the URL Linter will report a 503 but I see nothign in our logs. And even more odd, when the URL Linter reports the 503, it will shows that it can read the OpenGraph attributes defined. See this screenshot:
Since this is inconsistent, my first guess was this was a Facebook issue so I opened a bug. However, since I'm not seeing this issue rampant in the newsfeed with other apps, I'm starting to wonder if we aren't following the right steps to publishing FB content.
For example, are we supposed to post to the URL Linter first, then publish via the Graph API? This seems like a ridiculous extra step, but I'm grasping at straws here...
It's probably due to fact that in a time Facebook Linter visited your site it wasn't accessible, just couple of refreshes on a Linter Tool with URL you've provided resulted in Bad Response Code error, returning 503 status code:
http://chewsy.com/r/a/1bhLT"">
You should dig in logs of your application/site to discover the real reason why this happen and fix it.
Just a quick note that this should no longer be happening for CloudFlare users. We pushed a fix for the 503 debugger issue moments ago that appears to have fixed the problem. Please contact us if you see any other issues with the Facebook Debugger.

Fetching stream (me/home) omits videos

I'm trying to get all of the videos of my stream.
When I go to http://developers.facebook.com/docs/reference/api/ and click on the news feed (me/home) link, using that access token, I see my entire stream, including videos.
However, when I fetch the stream (me/home) from my app, it shows me the entire stream except the ones with type:video. I also tried it in the graph explorer and I have the exact same problem there. In my app, I've tried enabling permissions including user_status, user_videos, user_photo_video_tags, friends_status, friends_videos, friends_photo_video_tags, read_stream, and offline_access. None of these help.
I even tried turning on every single permission and it doesn't help. (If I just want to get my own videos--me/posts--that works fine.)
I also tried FQL and, while I'm a beginner at that, it seems to have the same problem.
So, can others see videos in me/home? Am I missing something obvious? Or is it a facebook bug? (I couldn't find that in their bug DB).
Thank you.
Appears to be a bug. You should go there and mark that you can validate it. Also subscribe to the bug so you know when it get's fixed.
http://developers.facebook.com/bugs/231621496918030
Steps to Reproduce: 1. get an access token using the read_stream
permission
call me/home api
https://graph.facebook.com/me/home?format=json&limit=25&until=1326865528&access_token=AAAEVaIcG7E0BADwZCmtcqokmLMikQqAIcE5zaUgZCtXEVlOTRVma18db7M9WWr1EcjNZAAzVhAK7LgSrGjTOlGqF3SDrMSnk4BHP3ZBC5gZDZD
no data returned, but when I switched to the Graph API Explorer app in
the test tool with the same permission. it returns 25 entries.
Expected Behavior: all feed posts in the stream Actual Behavior: none
or a few entries

Attached links to posts in the Graph API

I was hacking on a quick side project and I noticed that the graph API doesn't let you see the link of posts in a group.
For example: this graph object has no information about a link. The actual post, however, has an attached gif.
Am I doing something wrong or is this not possible with the graph API?
You're right. What's even stranger is that with a valid access token you still cannot see the link information on that graph object. I wonder if this has a deeper issue below it. You should log it as a bug at http:developers.facebook.com/bugs and report back with the bug # here.

Actions do not appear on timeline

I'm developing an app which publishes actions to the timeline.
On the app settings, I've created the action "post" and use the built in object type "article".
Although my graph actions have not been approved by facebook, that should not be a problem, because I am logged in as the developer of the app.
My article URLs pass facebook's linter with warnings, but no errors.
When my app notifies facebook of the the post action, it appears to succeed. Facebook returns an ID representing the action.
When I use facebook's graph explorer to view that ID, the data appears to be correct, showing the correct action type and object data. (If there's a URL to browse the action on facebook, instead of the graph explorer, I do not know what it is).
Still, with all the above apparently working without errors, I never see the action on my timeline. Whether I browse my own timeline, or when logged in as a friend and another developer of the app, I never see any indication on facebook.com that the action was performed.
What am I missing to make my custom action appear on my timeline page?
I had a similar problem. I was using OG and I could post everything successfully, but the posts didn't appear in timeline, but only in the activity log in Facebook.
I just went to the settings of the action and set "Explicitly Shared: This action can specify the user explicitly shared an action." to ON.
Then in my piece of code I put "true" to the key "fb:explicitly_shared" while creating the OG object.
If no error is being returned it sounds as if there is an issue in your public page that is preventing Facebook from knowing what to post.
Have you double checked your OG: meta tags through Facebook's validation tool [ https://developers.facebook.com/tools/debug ]. While you need all of the values to be filled in, the type bit is the most overlooked and must be setup properly to link to your particular application and corresponding action.
If your OG: data is correct and validating you should also check the detail settings for your action and aggregations. If the phrase / tense bits are not filled in Facebook may be uncertain how to make your post appear back to on the timeline.
Discoverd the problem....
My article page include an article:author tag. The URL in that tag was not visible to anonymous users. So, I'm guessing, facebook visited that author URL and received a HTTP 403.
When I removed the article:author tag, the items started appearing on my timeline.
So be careful with all tags and put all urls through facebook's debug tool.
Hmmm Interesting
Was having the same issue...
Using the XFBML, fb:like with all required og meta tags validating on the linter.
Last month when I liked a 'product' on my website, the post was published on my fb timeline wall no worries. Nice, perfect!
Today after clicking Like, I noticed it wasn't publishing to my timeline wall at all... but was logged in the Activity Feed.
It did however post to my wall if I commented on the Like Button flyout comment section.
Then I found this
"Pages of type article do not have publishing rights, and will not show up on user's profiles because they are not real world objects."
https://developers.facebook.com/docs/opengraphprotocol/#types
I've been getting the same issue with a feed dialog post. The posts can be navigated to directly, but doesn't show on timeline. More details here:
Actions not appearing on timeline
I had a similar problem, but everything was actually working correctly. If you get a returned ID and your article appears in your RECENT ACTIVITY, then all should be good.
The perceived issue, your post not appearing in your timeline, is actually the correct behavior. Your post doesn't appear in your timeline because it should appear in your friends' timeline as an activity that you completed. Once they comment or like it, then it should reappear on your timeline.
For me the issue was the posts doesn't show on timeline for all users except me also it was public !, i fixed it by make turn on application as online to be available to all users