3

我正在開發一個API,允許在REST上使用Graph API發送到Facebook,發送HTTP POST請求到https://graph.facebook.com/me/feed(在成功的OAuth2身份驗證之後)。在沒有鏈接的情況下發布到Facebook

我可以指定messagelink並張貼鏈接,(但有消息忽略?),我也可以包括namecaptiondescription得到處理這些元素 - 這樣的鏈接都OK。

如果我只使用message或只是picture,我得到的錯誤:

(#100) Missing message or attachment

如果我使用messagepicture,其職位的消息,沒有任何圖片。 (這是有用的,但不是預期的行爲?)

我能得到的圖片的唯一方法似乎是作爲一個鏈接(其中包括它作爲一個縮略圖)。


我瀏覽過文檔,但找不到任何有用的信息 - 所有示例都顯示鏈接。

我的主要問題是:沒有圖片或鏈接發佈消息的預期方式是什麼?

但是,知道是否有辦法將圖片張貼到牆上也是有用的嗎? (非縮略圖,帶燈箱)

+0

這取決於你是如何做到這一點,一個正確的URL就像'https://graph.facebook.com/me/feed?method=POST&message=3%20Auch%20am%202012%2F09%2F28% 20publizieren!&published = false&scheduled_publish_time = 1348783200&format = json&access_token = AAAC ....'如果你在做POST所有事情都需要URL-Form編碼等。 –

+0

URL是'https://graph.facebook.com/me/feed? access_token = &format = json' - 數據應該被指定爲額外的URL參數。當我手動將消息放入查詢字符串中 - 即'https://graph.facebook.com/me/feed?message=test+message&access_token= &format = json' - 現在它似乎正在工作,所以可能是CF的cfhttpparam錯誤。 –

回答

3

實際的代碼比較複雜,但在這裏簡化來說明問題。

這是失敗的:

<cfhttp 
    result = "local.Response" 
    method = "post" 
    url = #Arguments.Url# 
    > 
    <cfhttpparam type="url" name="Message" value="#Arguments.Message#" /> 
</cfhttp> 

這工作:

<cfset Arguments.Url &= '&message=' & encodeForUrl(Arguments.Message) /> 

<cfhttp 
    result = "local.Response" 
    method = "post" 
    url = #Arguments.Url# 
    > 
    <cfhttpparam type="url" name="dummy" value="ignore" /> 
</cfhttp> 

(僞cfhttpparam是因爲CF抱怨,如果一個POST請求不包含至少一個PARAM。)

相關問題