2015-01-21 6 views
5

Ich versuche, ein Bild zu einem Album über die Facebook Graph API mit folgendem Coldfusion-Code zu schreiben:Facebook Graph API und Coldfusion: „Param no_story muss ein boolean sein“

<cfhttp method="post" url="https://graph.facebook.com/#albumid#/photos/"> 
    <cfhttpparam type="formfield" name="access_token" value="#access_token#" /> 
    <cfhttpparam type="file" name="source" file="#img_dir#\dummy.jpg" /> 
    <cfhttpparam type="formfield" name="message" value="foo bar" /> 
    <cfhttpparam type="formfield" name="no_story" value="true" /> 
</cfhttp> 

Wenn ich no_story=true auslassen , das Ganze funktioniert perfekt, aber ich brauche dieses Attribut, um zu verhindern, dass der Beitrag an meiner Wand erscheint. Ich erhalte diese Fehlermeldung:

{"error":{"message":"(#100) Param no_story must be a boolean","type":"OAuthException","code":100}} 

HTTP/1.1 400 Bad Request Content-Type: text/javascript; charset=UTF-8 WWW-Authenticate: OAuth "Facebook Platform" "invalid_request" "(#100) Param no_story must be a boolean" Access-Control-Allow-Origin: * X-FB-Rev: 1568945 Pragma: no-cache Cache-Control: no-store Facebook-API-Version: v2.2 Expires: Sat, 01 Jan 2000 00:00:00 GMT X-FB-Debug: Vt7Viz/nlNfsQDDfNKtVuBjfgjDiWPFxYb0TAEpJJa9NjrR+TrEB8nuMOerQJYMX9E2e1CeqfBZT70/1KODErg== Date: Wed, 21 Jan 2015 12:13:31 GMT Connection: close Content-Length: 98 

Ich habe folgende Variationen versucht:

<cfhttpparam type="formfield" name="no_story" value="TRUE" /> 
<cfhttpparam type="formfield" name="no_story" value="True" /> 
<cfhttpparam type="formfield" name="no_story" value="#true#" /> 
<cfhttpparam type="formfield" name="no_story" value="#JavaCast('boolean', true)#" /> 
<cfhttpparam type="formfield" name="no_story" value="1" /> 
<cfhttpparam type="formfield" name="no_story" value="Yes" /> 

Nichts davon gearbeitet.

+0

Können Sie Ihren Postantrag Körper zeigen, als in was der Browser zeigt, welche Daten es tatsächlich posten. Verwenden Sie die Dev-Tools im Browser, um sie zu finden. – haxtbh

+0

@haxtbh Leider geschieht dies serverseitig. Ich versuche einen Weg zu finden, um zu sehen, welche Daten gepostet werden. – Boris

+1

Überprüfen Sie den aktuellen Status hier: https://developers.facebook.com/bugs/855430617846913/ – Boris

Antwort

-1

Schwierig, das zu testen, aber ich vermute, dass es den Text im Gegensatz zu dem booleschen Wert möglicherweise übergibt. Vielleicht versuchen:

<cfset mytruebool = True> 

Dann:

<cfhttpparam type="formfield" name="no_story" value="#mytruebool#" /> 

Der wesentliche Unterschied auf der cfset Zuordnung keine Anführungszeichen zu sein.

+0

Leider hat nicht funktioniert :( – Boris

+1

Steve Oliphant hat eine plausible Lösung vor ein paar Stunden zu https://developers.facebook.com/bugs/855430617846913/ geschrieben, interessiert zu hören, ob das funktioniert. –