Skip to main content

Why Attachment Doesn't Appear on Wall While Message appears when publish on Facebook Wall using stream.publish

When using stream.publish method some facebook application developers face a common problem which is that the message is appearing on the wall while the attachment argument which is used to post media stuff like images and videos does not appear.

The main problem behind this is the format of the attachment array, you should make sure that you wrote the array in the correct way, some tips are below:

If you are using .Net or Coldfusion or another programming language the format of the array and array of array is not the same so you have in some languages to replace the single quotation( ' ) with double ( " ).
The array is presented in some language with brace ({}) and array of array is ([{}])

So for the below example in php:

$attachment = array( 'properties' => array('Votes' => array( 'text' => 'Members Voted', 'href' => 'http://blog.abusalah.info/'), 'ratings' => '5 stars'), 'media' => array(array('type' => 'image', 'src' => 'http://www.abusalah.info/fbapps/fbapp3/imgs/Egypt.jpg', 'href' => 'http://www.abusalah.info/fbapps/fbapp3/imgs/Egypt.jpg'));

the equivalent code in coldfusion is:

<cfset attachment = '{"properties":{"Votes":{"text":"Members Voted","href":"http://blog.abusalah.info/","rating":"rate"}},"media": [{"type":"image","src":"http://www.abusalah.info/fbapps/fbapp3/imgs/Egypt.jpg","href":"http://apps.facebook.com/algeria-egypt/"}]}'>

Please note that the attachment must be in JSON format.

If you have any question please add a comment.

Comments

  1. Hey abusalah...Thanks for writing this! It was really helpful. Just wanted to let you know as i am trying to build some coldfusion facebook apps. Hope you write more FB coldfusion apps!

    ReplyDelete
  2. Hope you write more articles about Facebook-CF!

    ReplyDelete
  3. I will write a full tutorial, I hope I will be able to finish it by this weekend.

    ReplyDelete

Post a Comment

Popular posts from this blog

Error: Write to Disk Access Denied - Troubleshooting - BitTorrent

I have downloaded Bit Torrent software and when trying to download I got an error after few seconds saying:

Error: Write to Disk Access Denied
Solving this problem is so simple:
Shut down BitTorrent program.
Go to Start and in the small search box on top of windows start button start typing Bittorrent and the program will show, right click with the mouse on the icon and Run as Administrator.
All ur problems are sorted out now and you can enjoy downloading...
Good Luck.

Importing SSL certs to Coldfusion Railo's keystore

If you are having the below error:
Railo 3.3.4.003 Error (javax.net.ssl.SSLHandshakeException)Messagesun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetCausejavax.net.ssl.SSLHandshakeException

This means you are trying to invoke an https webservice. to invoke an SSL webserver you need to import the certificate into Railo by using keytool command. Below are the steps on how to do this:

1- use fire fox to open the webservice and click on the padlock as shown on the below image:

2-Click on more information as below:
 3- Click on View Certificate as below:
4-Click on details as below:
 5- Now export the certificate and save it to your computer with .cer extension.

6- Search in railo folder for the keytool command location, in my case it was under railo\jdk\bin

7-  Search in railo folder for the cacerts location, in my case it was under railo\lib\railo-s…

Publish to Wordpress using JSON API plugin and Coldfusion

I was using Postie to automatically publish to wordpress blog. I was searching a better method of publishing using soap api or json api. I found an excellent json plugin that can be used to publish posts and comments to wordpress.
Please follow the below step by step, this code will let you publish automatically for froma different interface to wordpress rather than using postie or email.

Step one: Install json plugin, enable the plugin and then go to settings > JSON API and  activate post

Step two: you have to modify the file: yourwordpressdirectory/wp-content/plugins/json-api/controllers/post.php

Please replace the file content with the below or add the missing Authenticate method. This method is necessary to authenticate a user to wordpress to be able to post content without a valid session.


<?php /* Controller name: Posts Controller description: Data manipulation methods for posts */ classJSON_API_Posts_Controller{ publicfunctioncreate_post(){ global$json_api; $this->authenticate()…