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

Coldfusion Facebook Graph API publish to your wall and your friends walls

In this tutorial we will learn by full coldfusion Graph API code example how to publish on your wall and your friends walls. This application uses new oauth authentication method.

The code is divided into four files: we will first start with a file called index.cfm:

<cfoutput>    
    <!--- Your FB application IDS --->
      <cfset api_key = ""/>
    <cfset secret_key = ""/>
    <cfset appID = ""/>
<!--- create a connection to the fb graph cfc --->
    <cfset graphCFC = createObject("component", "graph").init(#appID#, #api_key#, #secret_key#) />
    <!--- If user is authenticated or his access token is set create a cookie --->     <cfif not isdefined("cookie.access_token") and isdefined("url.access_token")>
        <cfset cookie.access_token=url.access_token>
    </cfif> <!--- If the user is authenticated and access token is set, then make the action…

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.

Implementation of Facebook Graph API in Coldfusion

Facebook has launched a new FB API called Graph that simplifies FB applications development, the new Graph API allows website owners to create Single Sign On (SSO) with Facebook and allow websites owners to be able to import a lot of users information but after their permissions.


The code below written in Coldfusion gives an example on how to Create FB login/logout button and then how to retrieve the created cookie, and use it for further development:

  <body>
  <cfoutput>
<!--- Your FB application IDS --->
    <cfset api_key = "XXXXXXXXXXXXX"/>
    <cfset secret_key = "XXXXXXXXXXXXXX"/>
    <cfset appID = "XXXXXXXXXXXXXX"/>
<!--- Facebook login/logout button --->
    <p><fb:login-button perms="email,user_birthday" autologoutlink="true"></fb:login-button></p>
    <!--- Facebook login/logout button that publishes to your wall--->
    <p><fb:like></fb:like…