gpt4 book ai didi

ruby-on-rails - Facebook Graph API 换行

转载 作者:行者123 更新时间:2023-12-05 00:37:15 24 4
gpt4 key购买 nike

我知道已经有很多关于此的问题——但我想在通过 Graph API 发布的 Facebook 墙上帖子中添加换行符。我已经看到各种建议使用 <center></center> 的答案,但这对我不起作用——它只是打印 ' <center></center> ' 在文中。

具体来说,我使用的是 Ruby 和 Koala gem。我正在尝试发布到用户的页面。如果我作为链接发布并尝试在帖子描述中使用中心 hack,它会按预期工作 - 但不是在我实际需要的消息中。

更新:我已经向 Koala gem 提交了一个补丁,允许设置 :no_encoding 选项。如果/当此补丁被接受时,如果该选项设置为 true,它将允许换行。现在,有这个问题的人可以捕获我的 gem 叉:https://github.com/ideaoforder/koala

对于那些好奇的人来说,问题在于法拉第。请求方法设置为 :url_encode ,它将参数作为 url 编码的表单数据发送。参数必须作为常规数据发送,而不是表单数据(例如在 cURL 中使用 -d 标志而不是 -f 标志)。我们通过将数据作为查询字符串的一部分而不是编码参数发送来实现这一点。

最佳答案

facebook 在帖子中实际接受的内容似乎不时发生变化,并且没有很好的记录。鉴于此,我能够通过发出以下请求在消息中创建带有换行符的墙帖:

POST https://graph.facebook.com/me/feed?access_token=<token>&message=line+1%0D%0Aline+2

在我的墙上创建以下帖子:

line 1
line 2



重要的部分是要知道在何处进行 url 编码。 message我的 API 请求中的参数包含 %0D%0A ,相当于 \r\n 的转义序列( see here )。如果您使用的 Koala gem 对您提供的输入进行 url 编码,则传递带有 \r\n 的字符串。转义码应该就是你所需要的。

更新:尝试使用命令行程序手动制作帖子可能很有用。看看你是否可以让它与这个一起工作 curl命令:
curl 'https://graph.facebook.com/<wall id>?access_token=<access_token>' -d 'message=this+is+line+1%0D%0Athis+is+line+2'

像往常一样,用您自己的参数替换墙 ID 和访问 token 参数(让您的 Ruby 程序打印出它从 Facebook 获取的 access_token)。您应该会看到一串 JSON 作为输出:
{"id":"wallid_postid"}

哪里 wallidpostid是数字。如果出现错误,则可能是 Facebook 或您的应用程序存在权限问题。

权限 :您的应用程序必须具有 manage_pages如果您以该页面的身份发帖,则需要页面管理员的许可,并且在发出请求时,用户当前必须登录到您的应用程序和 Facebook,除非您的应用程序还请求了 offline_access允许。如果用户未登录,您将收到以下响应:
{"error": {
"type":"GraphMethodException",
"message":"Unsupported post request."
}}

关于ruby-on-rails - Facebook Graph API 换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7126974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com