× Joomla Facebook Connect support forum

Topic-icon Support for Facebook Graph Actions

Active Subscriptions:

None
11 years 6 months ago #27257 by Ivan
When will support be added for graph actions
The topic has been locked.
Support Specialist
11 years 6 months ago #27261 by alzander
In the 4.3 release. The plan is to have it out in early to mid November.

Joomla 1.5 support for it hasn't been started yet. All development has been on Joomla 2.5. We're planning to back-port the feature to Joomla 1.5 as the last supported release of JFBConnect we'll make for J1.5. If we run into issues with backporting those features, we may have to delay the J1.5 version until it's ready.

Hope that helps,
Alex
The topic has been locked.
Active Subscriptions:

None
11 years 5 months ago #27700 by Ivan
Alex,

Do you know if facebook has updated their method to post an open graph action.
I used this about 2-3 months ago it was working:
              $non_sef_uri = 'index.php?option=com_mycomp&view=myview&gid='.$new_id; 
             $args = array(); 
             $args['goal'] = 'http://'.$_SERVER['SERVER_NAME'].'/'.$non_sef_uri; 
             $fbClient->api('me/mybucketlist_app:complete', $args);  
I have submitted graph actions before and now when i use this sort of code im getting this reply from them:

Your code is currently configured to publish a stream story. You must change your code so that when the test user triggers the action it produces an open graph story. Please make the appropriate changes and resubmit.

Also, right after i submit this graph action I also make it post to the users wall using jfbconnect setFacebookComment function. Might it be in conflict with the new rule etc. I know facebook is going to be disabling posting to your friends wall, do you know if this might be causing the problem?
The topic has been locked.
Support Specialist
11 years 5 months ago #27714 by alzander
That code looks correct. I think Facebook may confused about what your action is doing if they are also seeing a stream story being posted. I would recommend disabling the stream story if an open graph action is getting posted and hopefully that will clear up the confusion.

I don't know what else would be causing the problem as long as that action is being done on a user action on your site. If your doing that when a page loads, that is against Facebook's terms.

Hopefully that helps, but if not, let us know!

Thanks,
Alex
The topic has been locked.
Active Subscriptions:

None
11 years 5 months ago #27856 by Ivan
YEs Alex, you were right, after disabling the wall post facebook accepted my action. Pretty weird. I think you can still add the post to timeline afterwards.
The topic has been locked.
Support Specialist
11 years 5 months ago #27906 by alzander
It sort of makes sense. There were a lot of sites that added to a user's wall originally. Then, Timeline/Open Graph Actions came along, so they put in some checks to make sure there weren't any duplicate posts. It's also good from a user-perspective to make sure there aren't duplicate posts in order to not make them upset.

Either way, glad you got it, and should you need anything else, just let us know!

Thanks,
Alex
The topic has been locked.
Active Subscriptions:

None
11 years 5 months ago #28060 by Ivan
Do you suggest not posting to the wall when you are doing an action? Also, I noticed apps like songpop redirect you to their site within the canvas if you click on the ticker .I noted that Facebook Insights still shows anaylitcs for Timeline posts (publish stream) and on my app the CTR rate seems to be higher than current open graph actions for the moment. Is there any setting that needs to be configured within the jfbconnect backend to make it work they same way for songpop app? The open graph actions my app is posting redirect to an external site. I would like that when a user clicks on the action on the activity feed it ask for permissions within the canvas.
The topic has been locked.
Support Specialist
11 years 5 months ago #28082 by alzander
I wouldn't post to the wall and do an action. I don't think it's against Facebook's policies, but I do think it's a good way to get one of them marked as spam by your users. The more times activity from your app is marked as spam, the less likely it will show up for anyone when you post it. So, I think it will hurt you in the long run either way.

The Open Graph Actions will link to the origin of the action. If it was from an external URL, the link will be to that URL. If you're using it from within a Canvas App, you can have JFBConnect link to that Canvas URL, but it doesn't do that natively. You'd need to edit some code to hard-code the link to go to your Canvas App domain instead of you're 'real' website domain.

Finally, one thing that may increase the visibility of your Open Graph Actions, and therefore the CTR, you can use the "Explicit Action" tag when posting the Action. You can do that if it's clear that taking the action will be posting to the user's Timeline. If you do so, Facebook knows the user is aware the action will likely go in their Timeline, so they treat it better than other posts.

Hope that all helps, but if you need more info, just let me know.

Thanks,
Alex
The topic has been locked.
Active Subscriptions:

None
11 years 5 months ago #28089 by Ivan
Okay,

Which files do i need to hard code so that the activity redirects to withing the canvas?
The topic has been locked.
Support Specialist
11 years 5 months ago #28127 by alzander
Ivan,
The best place to do that to catch all occurances would be in the /components/com_jfbconnect/models/opengraphaction.php file. Around line 103 in the triggerAction function, you'll see:
// Always include the 'object' argument as some actions want the generic, others want the specific.
                    $args['object'] = $url;
                    $args[strtolower($object->type)] = $url;
Change that to:
// Always include the 'object' argument as some actions want the generic, others want the specific.
                    $canvasUrl = str_replace('http://yourdomain.com', 'https://apps.facebook.com/namespace', $url);
                    $args['object'] = $canvasUrl;
                    $args[strtolower($object->type)] = $canvasUrl;
That's untested, but I think it should do exactly what you're looking for. Test, of course, and let us know how it goes!

Alex
The topic has been locked.