Facebook Send Dialog调用遇kError 1545116错误,求解决方案
Facebook Send Dialog 错误 kError 1545116 解决方案
错误解析
kError 1545116: Thread disabled: This thread is disabled 核心意思是:你试图发送消息的对话线程已被禁用。可能的触发原因包括:
- 目标用户的会话被Facebook系统限制(比如违规封禁)
- 对方已拉黑你的应用或账号,无法接收消息
- 你的应用无权限向该会话发送内容
- 会话本身已失效(比如长期未互动被系统自动关闭)
可用URL请求示例
请严格按照以下格式构造请求,替换为你自己的应用信息:
https://www.facebook.com/dialog/send? app_id=你的Facebook应用ID &link=https://你要分享的合法链接.com &redirect_uri=https://你的回调地址.com
关键注意点:
- 所有参数必须做URL编码,避免空格、特殊字符导致解析失败
redirect_uri必须提前添加到Facebook应用后台的「产品 > Facebook登录 > 有效的OAuth重定向URI」列表中
必须检查的应用设置
- 应用状态:若面向普通用户使用,需确保应用已通过Facebook审核;测试阶段可添加测试用户,将应用设为「仅测试用户可见」
- 功能启用:在「产品 > 分享」模块中确认Send Dialog功能已开启
- 域名配置:页面域名和回调域名都要添加到「应用设置 > 基本信息」的对应字段中
- 应用权限:在「应用审核 > 状态与审核」中确认应用未被Facebook封禁或限制
JS SDK调用示例
若使用JS SDK调用,确保初始化和调用代码正确:
// 初始化SDK FB.init({ appId: '你的应用ID', version: 'v18.0' // 建议使用Facebook最新API版本 }); // 调用Send Dialog FB.ui({ method: 'send', link: 'https://你要分享的链接.com' }, function(response) { // 处理回调结果 if (response && !response.error_message) { console.log('发送成功'); } else { console.log('发送失败:', response.error_message); } });
注意:JS SDK必须从Facebook官方域名加载,且当前页面域名需在应用后台的「网站域名」列表中。
内容的提问来源于stack exchange,提问作者Niklas
相关产品推荐
相关产品推荐

