3

Я работаю над API, позволяющим отправлять сообщения в Facebook, используя Graph API over REST, отправляя HTTP-запросы на почту https://graph.facebook.com/me/feed (после успешного завершения OAuth2 auth).Публикация на Facebook без ссылки

я могу указать message и link и отправляет ссылку, (но с сообщением игнорировали?), И я также может включать в себя name, caption и description, чтобы получить эти элементы обрабатываются - так ссылки в порядке.

Если я использую только message или просто picture, я получаю ошибку:

(#100) Missing message or attachment

Если я использую messageиpicture, это сообщения в сообщение, без какого-либо изображения. (Что полезно, но не предназначено для поведения?)

Единственный способ получить изображение, похоже, как ссылку (которая включает ее в виде миниатюры).


Я просмотрел документы, но не могу найти полезной информации об этом - все примеры показывают ссылки.

Мой главный вопрос: Каким образом можно отправлять сообщения без картинки или ссылки?

Но было бы также полезно знать, есть ли способ опубликовать изображение на стене? (без эскизов, с лайтбокс)

+0

Это зависит от того, как вы на самом деле это делаете, правильный URL-адрес похож на «https://graph.facebook.com/me/feed?method=POST&message=3%20Auch%20am%202012%2F09%2F28% 20publizieren! & Published = false & schedule_publish_time = 1348783200 & format = json & access_token = AAAC .... ', и если ваше выполнение POST должно быть закодировано в форме URL-адреса и т. Д. –

+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' - теперь он работает, поэтому может быть ошибка с cfhttpparam CF. –

ответ

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 не содержит по меньшей мере один из параметров.)

Смежные вопросы