发帖 - wolfcon/NGA-API-Documents GitHub Wiki
6 发帖
以下子章节叙述发布帖子的过程 按照章节顺序处理
6.1 获取发布信息
输入地址
/post.php
输入参数
action //动作 new为新主题 reply为回复(或评论/贴条) quote为引用 modify为编辑
comment: 1 //发布评论/贴条时设1 其他功能勿设此参数
pid //回复id 整数
tid //主题id 整数
fid //版面id 整数
__output //输出格式 见1.1
参数可以组合使用 如
/post.php?fid=123 //在id是123的版面发新贴 /post.php?action=reply&tid=123 //回复主题id是123的主题 /post.php?action=reply&tid=123&pid=1234 //回复主题123里回复id是1234的回复 /post.php?action=quote&tid=123 //引用主题id是123的主题 /post.php?action=quote&tid=123&pid=1234 //引用主题123里回复id是1234的回复 /post.php?action=modify&tid=123&pid=1234 //编辑主题123里回复id是1234的回复 /post.php?action=modify&tid=123 //编辑主题id是123的主题
返回数据格式大致解释如下
window.script_muti_get_var_store={
"data":{
"__CU":{//当前访问者的用户信息 如果未登录则没有此项 见2.1
"uid":58,
"group_bit":1034239,
"admincheck":1,
"rvrc":465
},
"__F":{//所在版面数据
'fid':123,//版面id
'bit_data':124//版面的类型数据bit 见2.3
"name":"xxoo"//版面名
},
"__GLOBAL":"./template/js/nga_global.xml",//公共变量文件 xml格式
'content':'vsdcds',//引用或者编辑时帖子的预置内容
'pid':123,//回复id
'fid':123,//版面id
'tid':123,//主题id
'subject':'vfdsfds',//主题标题
'auth':'0000003a52b1749023e6b27e545af5bbfa53fc9648.....',//上传附件的验证码
'attachs':{//已经上传的附件信息(编辑时
},
'attach_url':'vfedgvfdvsf', //上传附件的接口地址 见6.2
'if_hidden':1,//此贴是否是隐藏的(编辑时
'if_self_reply':1,//此贴是否只有自己和版主能回复(编辑时
'modify_append':1,//是否超出编辑时限(编辑时
'content_org':'vtfredvf',//帖子的内容(超出编辑时限时
},
"encode":"gbk",//编码
"time":1374141799//当前时间
}
6.1.1 获取主题分类信息
输入地址
/nuke.php
输入参数
__lib //固定为'topic_key'
__act //固定为'get'
fid //发帖版面的ID
__output //输出格式 见1.1
服务器返回如下数据
window.script_muti_get_var_store={
data:{
0:{
0:{
0:'[分类1]', //分类名字 带方括号
1:1 //==1时是版主设置的分类 否则为用户添加的分类
}
}
1:{
0:'[分类2]',
1:1
}
}
2:{
0:'[分类3]',
1:0
}
}
... //可能有很多
}
}
6.2 上传附件
使用post(enctype=multipart/form-data)方法将如下数据上传至第一步数据中的附件上传地址 见6.1
输入参数
v2:1, //固定为1
attachment_file1:file,//附件文件
attachment_file1_watermark:'tl', //水印位置tl/tr/bl/br 左上右上左下右下 不设为无水印
attachment_file1_dscp:'gvsrf',//附件的说明
attachment_file1_url_utf8_name:'gvsrf',//附件文件UTF8编码文件原名再urlencode
fid:123,//发帖所在的版面id
func:'upload',
auth:'0000003a52b1749023e6b27e545af5bbfa53fc9648.....',//在上一步(6.1)中取得的上传附件验证码
__output //输出格式 见1.1
上传成功后服务器返回如下数据
window.script_muti_get_var_store={
attachments:'vgrfasdvcrfd', //上传后的文件地址
attachments_check:'vfdsavfd', //此文件的验证码
url:'gtrfegtrf', //附件上传后的地址
thumb:1 //附件是否有缩略图 (3只有最小缩略图 (2有最小和中等 (1有小中大三种 (未设为无缩略图
//缩略图地址为上传后地址后加 .thumb_ss.jpg(最小) .thumb_s.jpg(中) .thumb.jpg(大)
}
将attachments连接至发帖表单的attachments参数末尾(如有多个附件用\t分隔) 将attachments_check连接至发帖表单的attachments_check参数末尾 (如有多个附件用\t分隔)
6.2.1 发帖后删除附件
输入地址
/nuke.php
输入参数
func //固定为delattach
pid //所在的回复id 整数
tid //所在的主题id 整数
aid //附件id
__output //输出格式 见1.1
必须使用post 提交后服务器会返回成功或失败信息
6.3 用户编辑帖子内容
6.4 检查
6.4.1 检查强制分类
可跳过
6.4.2 检查自动翻译
可跳过
6.5 发帖
准备好所有内容后提交
输入地址
/post.php
输入参数
step:2 //固定为2
action:'reply',//操作 new / reply / quote / modify 新主题 / 回复(或评论、贴条) / 引用 / 编辑
pid:123//回复id
tid:123//主题id
fid:123//版面id
post_subject:'bfdsg' //标题
post_content:'nyrdcgr' //内容
attachments:'ngyxdhbt' //附件
attachments_check:'nhyfhg' //附件验证码
comment: 1 //为1 时作为评论/贴条发布 其他功能勿设此参数
lite //输出格式 见1.1
action pid tid fid参数应与6.1中相同
提交后会返回成功或失败信息