2015-01-21 10 views
5

Sto cercando di inviare un'immagine a un album tramite l'API Facebook Graph con i seguenti ColdFusion-Code:Facebook Graph API e ColdFusion: "Param no_story deve essere un valore booleano"

<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> 

Se tralascio no_story=true , tutto funziona perfettamente, tuttavia ho bisogno di questo attributo per evitare che il post venga visualizzato sulla mia bacheca. Sto ottenendo questo errore:

{"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 

ho provato seguenti variazioni:

<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" /> 

Nessuna di queste ha funzionato.

+0

Puoi mostrare il corpo della tua richiesta di post, come in ciò che il browser mostra quali dati sta effettivamente postando. Utilizza gli strumenti di sviluppo nel browser per trovarlo. – haxtbh

+0

@haxtbh Sfortunatamente ciò sta accadendo lato server. Sto cercando di trovare un modo per vedere quali dati vengono pubblicati. – Boris

+1

Controlla lo stato corrente qui: https://developers.facebook.com/bugs/855430617846913/ – Boris

risposta

-1

Difficile provarlo, ma ho il sospetto che stia passando il testo al contrario del valore booleano. Forse provare:

<cfset mytruebool = True> 

Poi:

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

La differenza chiave è senza virgolette sulla assegnazione CFSET.

+0

Purtroppo non ha funzionato :( – Boris

+1

Steve Oliphant ha pubblicato una soluzione plausibile poche ore fa a https://developers.facebook.com/bugs/855430617846913/, interessato a sapere se funziona. –