让discuz api接口3.2用户数据同步第三方api接口怎么做

查看: 5305|回复: 4
关于API接口问题。
& & 最近公司开发了一款手机网游,想使用DZ做一个论坛,但有些问题想了解一下:
& & 1.可不可以通过API接口,让游戏用户直接使用游戏账号登陆论坛?这个问题是关键,如果可以,有没有相关教程提供一下,万分感谢。
& & 2.另外游戏中可不可内嵌快速发贴的功能。
同步论坛用户数据和游戏用户数据。
1.用uc接口
2.快速发帖 直接写入数据库
求实现的接口呀。。。。
可以实现吗?
Powered by如何设计API接口,请求接口时需要进行身份验证,防止第三方随意调用接口?_家居产品问答- 一起装修问答
短信快捷登录
请输入密码
您还可以使用合作账号登录网站:
还没有一起网帐号?10秒钟,
微信扫码&快速登录
验证即登录,未注册将自动创建一起网帐号
获取动态密码
微信账号登陆
微信扫一扫绑定/登录
如何设计API接口请求接口时需要进行身份验证防止第三方随意调用接口
微信公众平台:搜索“一起装修网”或扫描下面的二维码:
你的装修预算约 ? 万元
卧室预算:0元
客厅预算:0元
厨房预算:0元
卫生间预算:0元
阳台预算:0元
其他预算:0元
你的装修预算约 0 万元
卧室预算:0元
客厅预算:0元
厨房预算:0元
卫生间预算:0元
阳台预算:0元
其他预算:0元
微信扫一扫查看完整报价清单
关注公众号还可获取装修省钱快报
如何API接口请求接口时需要进行身份验证防止第三方随意调用接口
浏览179次 悬赏: 0
接口是放在公网中使用,不想随意被第三方使用。
参考了OAuth2.0的简化模式(implicit grant type)了下面的方法。
接口使用方法:
1.接口调用者先申请分配一个clientid,clientsecret,并提供给接口提供者(服务器)一个可访问的callbackURL(用于接口access_token)。
2.接口调用者使用clientid, clientsecret作为参数,向接口提供者发送请求。
接口提供者访问callbackURL发送access_token(有时间限制,超时后重新获取)。
3.接口调用者使用access_token作为参数,调用其他接口获取相关信息。
4.接口调用者在access_token超时后重新获取access_token。
有个疑问:
仅为了防止非法用户随意使用接口,需要这个复杂的机制吗?
接口使用https连接,可以确保数据保密性。
所以是否可以简化上面的流程,仅在接口服务者中配置一个 access_token,
接口使用者只需要提供正确的access_token即可正常使用其他接口。
回答该问题即可获得 2 经验值,问题被采纳即可获得 2 经验值!
我来回答&&
装修从哪入手?
从免费户型设计开始…
全部回答(0 )
A:可以咨询下一起装修网上的客服
A:电脑下载了,考的U盘里,
住房公积金是从2011年12月份开始需要缴纳,我们可以利用住房公积金行进购买贷款和装修贷款等,申请的条件是:1、有稳定的职业和收入,能够及时还款;2、具有常住户口或有效居留身份;3、需缴纳住房公积金半年以上。你可以到公积金所属银行去申请,也可请第三方公司的申请。
A:自带SD卡可装应用程序(第三方应用需通过“创维安卓电视软件器”安装)支持播放移动硬盘视频、音乐盒图片;支持在线升级系统ROM。补充“创维安卓电视软件安装器”网上有下的,一般forAndroidPad的软件都可以装上去,但不是所有的都适合这么大屏幕。用电脑下载软件到U盘,U盘插进电视,电视的官方应用商店里面有es文件浏览器,安装好就能识别安装包了,找到并点击安装包就可以安装了。实在不好可以去电视猫官网有教程,正好顺便装个电视猫视频,专门看电影电视的,我用过最好用的
A:131****6528 您好!是这样的,订一起装修网的装修公司质量就会有保障,咱们网站还会赠送免费的一起保第三方监理提供五次节点验收服务。您可以点击“找装修公司”页面进行选择装修公司!祝您装修愉快!
A:现在做理财的平台很多,选择的时候一定要慎重一些,安全比较安全,推介你看一下瑞钱宝,收益也还行的
*本价格为毛坯房全包价格(不含水电报价),旧房价格由实际工程量决定。
*稍候装修管家将致电您,为您提供免费装修咨询服务。
微信扫码获取详细报价清单
抢免费设计名额
每天限50个
请放心填写您的隐私将被严格保密
7年服务700万用户,中国家装十大电商平台
重复报名!
亲,您已经报过名啦,给别人留点机会呗
我们还有更多精彩活动,
你好,以工行为例,工行
炫丽的女爷
看定位,众多卷扬机中,我推荐【上海生一牌卷扬机】
您好,柏木家具连锁加盟项目作为新兴的加盟项目一直备受大家
仙女设计师
冷轧板卷是以热轧卷为原料,在室温下在再结晶温度以下进行轧
一般的圈地围栏网价格就是六七十块钱一卷,价格还是比较便宜
向帮助了您的知道网友说句感谢的话吧!
提问期内,追加悬赏一次,可延长问题的有效期3天。悬赏越高,会吸引到越多的关注。
追加悬赏:&正在加载,请稍候...
花集通自定义网站API接口使用协议
在使用花集通自定义网站API接口之前,您应当认真阅读并遵守本协议的全部内容。请您务必审慎阅读、充分理解各条款的内容,特别是以粗体下划线标注的条款,包括但不限于免除或者限制花集责任的条款、对服务商权利进行限制的条款、争议解决和法律适用条款等。如果您对本协议的条款有疑问的,请通过花集网客服渠道进行询问,花集网将向您解释条款内容。如果您不同意本协议的任意内容,或者无法准确理解花集对条款的解释,请不要进行任何后续操作。否则,表示您已接受了以下所述的条款和条件,同意受本协议约束。届时您不应以未阅读本协议的内容或者未获得花集对您问询的解答等理由,主张本协议无效,或要求撤销本协议。 & & & &《花集通自定义网站API接口使用协议》立约背景、为了规范花集通自定义网站API接口合作伙伴(以下简称“服务商”或“您”)通过网站API接口进行的各项行为,包括但不限于调用服务数据接口(即),明确服务商的权利和义务,营造规范、有序、安全的开放平台环境,保障服务商及用户的合法权益,依据《》、《》等内容,拟定本协议。第二条、签约主体、本协议由浙江花集网科技有限公司(以下简称“甲方”)与服务商(也可称“开发者”)签署。第三条、协议生效和适用范围、您通过网络页面点击确认或以其他方式选择接受本协议,包括但不限于未点击确认本协议但使用了花集通自定义网站API接口的服务,即表示您与花集已达成一致并同意接受本协议的全部约定内容。本协议自您确认接受之时起或自您使用花集通自定义网站API接口服务的行为发生之时起(以时间在先者为准)生效。、本协议内容包括协议正文以及所有花集网已经发布的或将来可能发布的各类规则(含业务规范,以下同)、通知、公告等(以下合称“规则”),包括但不限于《花集网规则》,《花集服务协议》。所有规则为协议不可分割的组成部分,与协议正文具有同等法律效力。花集网有权根据需要不时地制定、修改本协议和/或各类规则,如有任何变更,花集网将以网站公示的方式进行公告,而不再单独通知您。变更后的协议和规则一经公布即自动生效,成为本协议的一部分。如您不同意相关变更,应当立即停止使用花集通自定义网站API接口服务;如您继续使用花集通自定义网站API接口服务,则视为您对修改后的协议和规则不持异议并同意遵守。第四条、定义、花集通自定义网站API接口:指基于花集网平台各类电子商务业务的开放,由花集网提供一些软件和支持材料,服务商通过这些软件和支持材料开发服务以便服务于自身或服务于花集网平台其他用户。服务商可以通过花集通自定义网站API调用指定的功能服务,访问由花集网提供的或用户授权的与用户相关的数据和/或来自其他花集网服务程序的数据信息,或者由服务商服务向花集网提供数据。自定义网站API接口可能包括但不限于一个或多个、编程工具和文档。、服务商:指花集网会员中通过有效申请并通过验证的可以基于花集通自定义网站API接口进行服务开发的单位或者个人,此类服务商也可称为“开发者”。、服务:指服务商基于自定义网站API接口所开发的软件或服务,包括花集开发服务和自主开发服务两种类型。、:指服务商在申请开发新服务时获得的由花集网授予的服务程序接入账户和密钥。是服务的唯一标识,花集网通过来鉴别服务发布者的身份。是花集网给服务分配的密钥,该密钥在一定技术条件下可保证服务来源的可靠性。、:指面向特定业务开放、须向花集网申请获准后才能使用的开发平台数据接口。花集通自定义网站API接口在网站自主开发的基础上,还提供技术支持开发,技术服务费1000元每/次,当通过API接口产生的交易额累计达到一定数额时可返还一定服务费。上述收费细节可能随着业务发展而不时调整,请服务商密切关注花集通自定义网站API接口的业务公告及相关文档。第五条、服务商申请、您应当符合花集通自定义网站API接口的申请条件,按照申请流程申请花集通自定义网站API接口成为服务商。、您理解并认可,花集网仅能以普通或专业人员的知识水平标准对您在申请环节填写或提交的申请资料(如有)、申请信息进行表面鉴别,且花集保留抽查、要求您补充提交、及时更新申请材料及申请信息的权利。您应当对申请材料、申请信息的真实性、合法性、有效性独立承担全部责任;如花集网发现您的申请资料、信息造假或失效的,花集网有权立即终止本协议并根据相关规则对您进行处罚。第六条、花集服务内容、花集网为服务商提供服务开发的相关网络环境和技术支持,包括服务数据接口的开发、封装,服务开发、运行的系统环境,以及与此有关的互联网技术服务。服务商同意依照本协议的约定向甲方支付使用开放平台相关技术服务的使用费用。甲方提供的网络空间服务暂时不收取费用,但甲方保留今后进行收费的权利。、如存在下列情况,花集网以普通或非专业人员的知识水平标准对相关内容进行判别,可以认为这些内容或行为具有违法或不当性质的,花集网有权删除相关信息或停止对该服务商提供服务,并追究其法律责任:、第三方通知花集网,认为某个服务商或具体服务事项可能存在重大问题;、用户或第三方向花集网告知花集通自定义网站API接口上有违法或不当行为,例如服务商非法获取或使用用户数据等。、花集网有权对服务商和用户的注册数据及交易行为进行查阅,发现注册数据或交易行为中存在任何问题或怀疑,均有权向服务商发出询问或要求改正的通知,或者直接作出删除等处理。、对于服务商在花集通自定义网站API接口上发布的下列信息,花集网有权在不通知服务商的前提下进行删除或采取其它限制性措施,包括但不限于涉嫌违法、侵犯第三人合法权益、违反公序良俗、社会公德,或花集网认为不妥当的其他信息。、花集网根据其判断认为服务商账户存在异常活动的,花集网可以单方面暂停该等账户的使用。服务商违反本协议约定的,花集网可以单方面暂停或终止服务商使用服务和相关账户。第七条、花集通自定义网站API接口服务使用规范、服务商承诺同时遵守《花集服务协议》和《花集网规则》。、服务商成功申请花集通自定义网站API接口后,花集网将根据您的花集账户和密码确认您的身份,您应妥善保管账户和密码,并对使用该账户和密码所进行的一切行为承担全部责任。您承诺在密码或账户遭到未获授权的使用,或者发生其他安全问题时,将立即通知花集网,且您同意并确认,除非因花集网过错导致账户被盗或其他安全问题,花集网不对上述情形产生的任何直接或间接的遗失或损害承担责任。、服务商声明并保证其在花集通自定义网站API接口开发、发布的服务符合如下要求:、真实、合法、准确、完整,不会有任何淫秽、色情、不道德、欺诈、诽谤(包括商业诽谤)、非法恐吓或非法骚扰的内容;、不会侵犯任何第三方享有的合法权利或权益,包括但不限于第三方知识产权等;、不会违反任何法律、法规、条例或规章 (包括但不限于关于规范互联网站、互联网信息、不正当竞争的法律、法规、条例或规章);、不会含有任何类型的恶意计算机程序、病毒;不得以任何方式干扰或企图干扰开放平台、其他服务商服务或其任何部分或功能的正常运行;、不会直接或间接与下述各项内容链接:()任何法律、法规、条例或规章所禁止的商品或服务;或()无权链接或包含的商品或服务。、服务商开发、发布的服务需要收集或使用用户数据的,应当符合以下条件:、服务商必须事先获得用户的同意,且应当告知用户相关数据收集的目的、范围及使用方式,保障用户知情权;、服务商不得请求、收集、索取或以其他方式从任何用户那里获取对花集网账户、密码或其他身份验证凭据的访问权;不得为任何用户自动登录到花集网站提供代理身份验证凭据;不得提供“跟踪”功能,包括但不限于识别其他用户在服务商服务档案文件页上查看或操作;、服务商不得利用其他服务商的或相关权限获取花集网平台用户数据;、服务商应当仅获取为服务程序运行及功能实现目的而必要的数据,服务商在特定服务中收集的用户数据仅可以在该特定服务中使用,不得将收集的用户数据转移或使用在该特定服务之外, 不得将用户数据出售、转让或用于特定服务之外的任何其他目的;、服务商应当向用户提供修改、删除用户数据的方式,确保用户要求删除其用户数据时可通过该方式自行操作完成,并确保相关数据被完全删除;、花集网有权限制或阻止服务商获取用户数据及开放平台运营数据,有权自主决定相关数据的保存期限;如花集网认为服务商使用用户数据的方式、数据收集的目的或收集的范围有可能损害用户体验、侵犯用户权益或者不符合服务程序运行或功能实现的目的,花集网有权要求服务商立即删除相关数据并不得再以该方式使用或再行收集该等数据;、一旦用户退订或停止使用服务商的服务,服务商必须立即删除从该用户处获取的全部数据;且花集网有权基于数据安全的考虑不经通知径行做出删除数据的处理措施。、服务商同意花集通自定义网站API接口运营数据(包括但不限于用户注册信息、用户针对服务商服务的使用数据)的全部权利均归属花集网。服务商承诺在未经花集网事先书面批准的情况下,不得为任何目的擅自保存、使用或授权他人使用前述运营数据;如经花集网书面同意服务商可以使用花集通自定义网站API接口运营数据的,其行为应当同时符合本协议第条的约定。、服务商违反法律法规或本协议的约定非法获取或不当使用相关数据的,花集网有权采取直接终止本协议、删除服务商已获取的相关数据、下架服务等措施,且前述措施可以合并使用;服务商应当以自己的名义独立承担全部责任,并对花集网、用户或任何第三方造成的损失进行赔偿。、服务商同意接收来自花集网及其关联公司发出的邮件、信息。、服务商一旦对花集通自定义网站API接口申请成功,成为开发者,并在申请发布一个新服务时,服务商将得到一个针对该服务的唯一的和。服务商同意通过花集通自定义网站API接口提供的途径合法获取服务标识()及密钥()。服务商对和的机密负完全责任。服务商同意任何时候都不使用其他服务商的和,也不将自身的和透露给任何第三方。服务商同意在发现或怀疑他人未经授权就使用其和时立即通知花集网。花集网对服务商的和的所有使用情况,包括但不限于任何未经授权的访问、更改或者删除、破坏、损害、丢失或未能存储均不承担任何责任。、服务商不得暗示花集网加入、赞助或认可服务商的服务,包括但不限于在服务商服务名称中或顶级域名左侧的中使用“花集”、“花集网”、“花集官网”、“”、“”或花集关联公司的名称的任何变体、缩写或错误拼写。第八条、开放平台技术服务费收费标准与优惠政策、技术服务费收费标准:甲方花集网将按照如下收费标准和返还规则向服务商收取和返还技术服务费:类型价格计费规则 技术服务费 <span style="color:#00元/次 单次收取
技术服务费返还API接口交易额累计达一万元以上 返还<span style="color:#%技术服务费API接口交易额累计达五万元以上 返还<span style="color:#0%技术服务费 上述收费标准的有效期为: 一个自然年、花集网保留调整、取消上述优惠政策的权利,包括但不限于调整标准费用或调低优惠额度,对此服务商不持异议。如有上述调整或变化,花集网将通过书面通知或网络公告等合理方式告知服务商。服务商理解并认可,其每个实际调用的次数以及本协议下的所有结算数据均以花集网系统记录的数据为准,服务商不持任何异议。如服务商需要甲方开具开放平台技术服务费用发票的,则应提前个工作日向甲方申请。 第九条、知识产权、花集通自定义网站API接口上所有内容,包括但不限于著作、图片、档案、资讯、资料、网站架构、网站画面的安排、网页设计,均由花集网或其他权利人依法拥有其知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。非经花集网或其他权利人书面同意任何人不得擅自使用、修改、复制、公开传播、改变、散布、发行或公开发表花集网站程序或内容。、花集通自定义网站API接口运营数据的全部权利,均归属花集网。前述运营数据包括但不限于任何用户注册信息、用户针对服务商服务的使用数据等。未经花集网事先书面同意,服务商不得为任何目的擅自保存、使用或授权他人使用前述运营数据。、根据本协议的条款和条件,花集网授予服务商有限的、非排他性的、可随时终止的和不可再分发的许可,仅限于服务商在自己访问和使用花集通自定义网站API接口开发、测试、显示时,允许服务商访问花集网提供的或用户自身授权的用户信息,并允许其他花集网平台用户访问服务商服务;但花集有权随时在提前通知或不通知的情况下自行限制、约束或禁止服务商或其他花集网平台用户访问服务商的服务。服务商严禁进行如下行为:、对花集通自定义网站API接口、开发者服务及其任何方面或部分(包括但不限于源代码和算法)进行反向工程、反汇编、重构、反编译、翻译、修改、复制,或者在未经明确允许的情况下创作衍生作品;、篡改或从花集通自定义网站API接口、开发者服务的任何方面或部分删除任何标识、商标、版权或其他声明;、分发、销售、转销、租赁、许可、再许可或通过其他方式将开放平台或任何用户信息提供给第三方(包括以任何方式存储开放平台或用户信息致使第三方能够访问);、避开或修改花集网数据统计工具。、服务商保留其创建的服务内容以及其中包括的所有权利、权属或权益,包括但不限于归属于服务商的知识产权(但花集网知识产权除外)。服务商通过花集通自定义网站API接口提交或发布服务,即表明服务商授予花集网服务期内的、非排他性的、完全给付并免费的全球性许可,允许花集网使用、复制、再许可、重设格式、修改、删除、添加、公开显示、重现、分发和执行服务商服务,以及将其存储和缓存在花集网指定服务器上。第十条、违约责任、您明确理解并同意花集网有权以普通或非专业人员的知识水平标准对您的行为进行单方认定,并根据单方认定结果适用规则予以处理或中止、终止向您提供服务(包括中止或终止花集通自定义网站接口的调用,以下同),且无须征得您的同意或提前通知予您。花集网根据相关规则对您进行处理后,不免除您应当承担的法律责任。、如因您违反有关法律法规或者本协议、相关规则之规定,使花集网遭受任何损失、受到用户、任何第三方的索赔或任何行政管理部门的处罚,您应对花集网、用户或相关第三方的实际损失进行全额赔偿,包括合理的律师费用。第十一条、免责和有限责任、对于开发、运营、支持和维护服务商服务,服务商同意独立承担所有的风险和后果。花集网没有责任和义务对于发布在花集网平台上的任何不准确或不正确的内容承担任何责任,无论该等不准确是由用户所造成的,还是由于服务商服务所使用的或与服务相连接的任何设备或程序所造成的。、花集通自定义网站API接口仅作为服务商和用户物色交易对象,就服务的交易进行协商,以获取或使用各类服务的地点。本协议的签署并不意味着花集网成为用户在花集通自定义网站API接口上与服务商所进行交易的参与者,对前述交易花集网仅提供技术服务,不对服务商和用户行为的合法性、有效性及服务的真实性、合法性和有效性作任何明示和默示的担保。、服务商明确理解和同意,花集服务将按“现状”和按“可得到”的状态提供。花集将在现有技术的基础上尽最大努力提供相应的安全措施以保障服务安全和正常运行。但由于可能存在的计算机病毒、网络通讯故障、系统维护等方面的因素以及可能发生的不可抗力事件,花集在此明确声明对服务不作任何明示或暗示的保证,包括但不限于对服务的可适用性、没有错误或疏漏、持续性、准确性、可靠性、适用于某一特定用途。花集不对因下述任一情况而导致的任何损害赔偿承担责任,包括但不限于利润、商誉、使用、数据等方面的损失或其它无形损失的损害赔偿(无论花集是否已被告知该等损害赔偿的可能性):、使用或未能使用“服务”;、第三方未经批准的接入或第三方更改用户的传输数据或数据;、第三方对“服务”的声明或关于“服务”的行为;或非因花集网的原因而引起的与“服务”有关的任何其它事宜,包括疏忽;、可能存在的计算机病毒、网络通讯故障、系统停机维护。、在任何情况下,花集网均不对任何间接性、后果性、惩戒性、偶然性、特殊性或刑罚性的损害,包括服务商使用花集通自定义网站API接口而遭受的利润损失,承担责任(即使花集网已被告知该等损失的可能性)。、尽管本协议中可能含有相反的规定,花集网对服务商承担的最大的总体责任和赔偿不超过花集网在截止违约之时基于该服务商单个提供的开放平台服务而获得的本协议下技术服务费用收入的总额,该等技术服务费用收入也仅限于以货币方式收取的实际收入而不包括其他利益。第十二条、协议终止与转让、本协议在符合以下任意一项情形时终止:、自然终止:如您在线签署的《花集服务协议》因任何原因终止,则本协议将同时终止;、通知解除:花集网可提前天以书面通知的方式终止本协议而无须承担违约责任;、单方解除权:出现下列情况之一的,花集网有权立刻终止本协议,且按有关规则对您进行处罚:()您违反本协议中的任何承诺或保证,包括但不限于本协议项下的任何约定;()您违反花集网平台的相关条款、协议、规则、通告等相关规定,而被花集网平台终止提供服务的;、如服务商在本协议终止后再一次直接或间接或以他人名义注册并登录花集通自定义网站API接口的,花集网有权直接单方面终止向该服务商提供服务。、本协议规定的其他协议终止条件发生或实现,导致本协议终止。、协议终止后的处理:、服务终止后,花集网没有义务为服务商保留原账户中或与之相关的任何信息,或转发任何未曾阅读或发送的信息给服务商或用户或第三方,亦不就终止服务而对服务商或用户或任何第三方承担任何责任。、不论花集网与服务商之间的服务因任何原因以任何方式终止,花集网仍有权:()保存或不保存该服务商的数据及以前的交易行为记录;()对于服务商在服务终止前实施的违法或违约行为所导致的任何赔偿和责任, 服务商必须完全独立地承担,花集网有追索权;()要求服务商立即删除其从花集通自定义网站API接口获得的全部数据,包括但不限于用户数据、花集通自定义网站API接口运营数据;且花集网有权基于数据安全的考虑不经通知径行做出删除相关数据的处理措施。、无论本协议因何原因终止,在协议终止前的行为所导致的任何责任,您必须完全且独立地承担;协议终止后,花集网无需继续向您提供服务。、花集网有权将本协议项下的全部权利和义务转让予花集的关联公司,而无须事先征得您的同意,届时花集网将通过网站公告等方式向您发出转让通知。第十三条、通知和送达、花集网对于服务商所有的通知均可通过网页公告、电子邮件、花集网平台站内信、手机短信或常规的信件传送等方式进行;该等通知于发送之日视为已送达收件人。、服务商对于花集网的通知应当通过花集对外正式公布的通信地址、传真号码、电子邮件地址等联系信息进行送达。第十四条、法律适用与管辖、本协议之效力、解释、变更、执行与争议解决均适用中华人民共和国大陆地区法律。、因花集网与您就本协议的签订、履行或解释发生争议,双方应努力友好协商解决。如协商不成,花集网和您均同意由被告住所地人民法院作为第一审管辖法院。
以上内容是否解决了您的问题呢?
您的反馈信息已成功提交,谢谢您的反馈。
太简单,用不上
字太多,不想看
太复杂,看不懂
您的反馈信息已成功提交,谢谢您的反馈。查看: 9720|回复: 5
利用第三方模块同步其它网站数据
本帖最后由 rohv 于
20:37 编辑
参考官方文档:http://dev.discuz.org/wiki/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9DIY%E6%A8%A1%E5%9D%97%E6%8B%93%E5%B1%95%E7%B1%BB%E7%9A%84%E5%BC%80%E5%8F%91
由于近来忙,怠慢之处见谅
第一步:在网站根文件夹建立“1.php”文件,写入以下数据:&?php
define('CHARSET', 'GBK'); //服务器端数据编码
require './source/class/class_xml.php'; //XML格式的文档和array的相互转换的类
error_reporting(7);
$charset = $_GET['charset'] ? $_GET['charset'] : $_POST['charset']; //客户端数据编码
//数据转码
if(strtoupper($charset) != CHARSET) {
foreach($POST as $key =& $value) {
$POST[$key] = iconv($charset, CHARSET, $value);
}
foreach($GET as $key =& $value) {
$GET[$key] = iconv($charset, CHARSET, $value);
}
}
$data = array('html'=&'', 'data'=&''); //初始化要返回数据
$sign = $_GET['sign'] ? $_GET['sign'] : $_POST['sign']; //获取客户端请求数据的签名
$clientid = $_GET['clientid'] ? $_GET['clientid'] : $_POST['clientid']; //客户端ID
$client = get_client_by_clientid($clientid); //得到客户端的相关信息
if(empty($client)) { //客户端不存在
exit('CLIENT_NOT_EXISTS'); //直接返回失败
}
$datasign = ''; //数据签名
if(!empty($_POST)) {
unset($_POST['sign']); //删除签名参数,此参数不参加签名计算
$datasign = get_sign($_POST, $client['key']); //计算数据的签名
} else {
unset($_GET['sign']); //删除签名参数,此参数不参加签名计算
$datasign = get_sign($_GET, $client['key']); //计算数据的签名
}
if($datasign != $sign) { //签名不正确
exit('SIGN_ERROR'); //输入签名错误
}
if($_POST['op'] == 'getdata') { //判断是否为请求数据列表
$datalist = $data = array();//数据列表
$wherearr = array(); //SQL 条件数组
//获取客户端POST参数
$start = intval($_POST['start']); //起始数据行数
$limit = intval($_POST['items']); //要显示多少条数
$bannedids = addslashes($_POST['bannedids']); //客户端屏蔽的IDS
$param1 = addslashes($_POST['param1']); //数据调用参数1,假设此值要求为string型
$param2 = intval($_POST['param2']); //数据调用参数2,假设此值要求为int型
//处理参数1
if(!empty($param1)){
$wherearr[] = &fieldsparam1='$param1'&;
}
//处理参数2
if(!empty($param2)) {
$wherearr[] = &fieldsparam2='$param2'&;
}
//处理客户端屏蔽的IDS
if(!empty($bannedids)) {
$banids = explode(',', $bannedids);
$wherearr[] = &csid NOT IN (&.implode(&','&, $banids).&')&;
}
$where = !empty($wherearr) ? 'WHERE '.implode(' AND ', $wherearr) : ''; //构造条件
/*数据库相关处理
$query = DB::query('SELECT * FROM '.DB::table('tablename').& $where LIMIT $start, $limit&); //SQL查询
while($value = DB::fetch($query)) {
//此处为数据处理逻辑代码
$data[] = $
}
*/
//以下为临时测试数据,正式环境请根据自己的业务做相关调整
$url = '/';
$data = range($start, $start + $limit);//构造临时的假数据
foreach($data as $value) {
//需要注意: 除 id, title, url, pic, picflag, summary 几个字段外,其它字段需要放到 fields 数组里。
$datalist[] = array(
'id' =& $value,
'title' =& 'xml_block_title'.$value, //标题
'url' =& $url.'xml_server.php?csid='.$value, //链接地址
'pic' =& $url.'/data/attachment/photo.gif', //图片地址
'picflag' =& '0', //0为url 1为本地 2 为ftp远程;如果图片是DX系统中的图片可以情况设置为1或2,其它情况为0
'summary' =& '', //简介
'fields' =& array( //配置规范中fields中指定的字段
'author' =& 'xml_user'.$value,
'authorid' =& $value,
'field1' =& 'field1value'.$value,
'field2' =& 'field2value'.$value
)
);
}
$data['data'] = $
//如果要返回HTML代码,可直接使用以下代码
//$data['html'] = 'HTML CODE';
$xml = array2xml($data); //转换为XML文档
} else if($_GET['op'] == 'getconfig') {
$xml = file_get_contents('block_xml_sample.xml');//block_xml_sample.xml文件中的内容为 配置规范XML文档示例 的内容
} else {
$xml = 'NO_OPERATION';
}
ob_end_clean();
@header(&Expires: -1&);
@header(&Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0&, FALSE);
@header(&Pragma: no-cache&);
header(&Content-type: text/xml&);
echo $
exit();
/**
* 获得客户端信息
* @param $clientid
* @return array 客户端信息数组
*/
function get_client_by_clientid($clientid){
$client = array();
$clientid = intval($clientid);
if($clientid) {
/*数据库相关处理
$client = DB::fetch_first('SELECT * FROM '.DB::table('clienttable').& clientid='$clientid'&); //SQL查询
*/
//以下为临时测试数据,正式环境请根据自己的业务做相关调整
//模拟数据库
$CLIENTSDB = array(
'100000' =& array(
'clientid' =& '100000',
'key' =& '*654%#(asd94',
),
'200000' =& array(
'clientid' =& '200000',
'key' =& '1#9!(@@34#94',
),
'300000' =& array(
'clientid' =& '300000',
'key' =& '7$@^8^$7as89',
),
'400000' =& array(
'clientid' =& '400000',
'key' =& '23@#86^%4&32',
),
);
$client = isset($CLIENTSDB[$clientid]) ? $CLIENTSDB[$clientid] : array();
}
return $
}
/**
* 生成签名
* @param array $para 参数数组
* @param string $key 加密密钥
* @return string 签名
*/
function get_sign($para, $key = ''){
ksort($para);
$signarr = array();
foreach($para as $k =& $v) {
$signarr[] = $k.'='.$v;
}
$sign = implode('&', $signarr);
$sign = md5($sign.$key);
return $
}
?&
复制代码注意:不是网站记录的URL来调试的时候,会出现“Access Denied”,那是网站防止文件外部打开的标志,进入“./source/class/class_xml.php”暂时关闭开头的二行:
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');}
特别注意:99行时候的“$xml = file_get_contents('block_xml_sample.xml');//block_xml_sample.xml文件中的内容为 配置规范XML文档示例 的内容”;就是这个文件造成很多人安装第三方插件不成功的。这个文件改名称的同时记得要修改1.php的99行;
& &特别注意文件block_xml_sample.xml中的“&item id=&name&&&![CDATA[C/S 数据类]]&&/item&”中间的“C/S 数据类”就是模块名称;有的时候如“&item id=&version&&&![CDATA[X1.5]]&&/item&”版本号不对也会报错;修改为网站的版本即可。
第二步:建立“block_xml_sample.xml”文件,写入如下数据:&?xml version=&1.0& encoding=&ISO-8859-1&?&
&root&
&item id=&Title&&&![CDATA[Discuz! Block]]&&/item&
&item id=&Data&&
&item id=&version&&&![CDATA[X1.5]]&&/item&
&item id=&name&&&![CDATA[C/S 数据类]]&&/item&
&item id=&fields&&
&item id=&url&&
&item id=&name&&&![CDATA[链接地址]]&&/item&
&item id=&formtype&&&![CDATA[text]]&&/item&
&item id=&datatype&&&![CDATA[string]]&&/item&
&/item&
&item id=&title&&
&item id=&name&&&![CDATA[标题]]&&/item&
&item id=&formtype&&&![CDATA[title]]&&/item&
&item id=&datatype&&&![CDATA[title]]&&/item&
&/item&
&item id=&pic&&
&item id=&name&&&![CDATA[图片]]&&/item&
&item id=&formtype&&&![CDATA[pic]]&&/item&
&item id=&datatype&&&![CDATA[pic]]&&/item&
&/item&
&item id=&summary&&
&item id=&name&&&![CDATA[简介]]&&/item&
&item id=&formtype&&&![CDATA[summary]]&&/item&
&item id=&datatype&&&![CDATA[summary]]&&/item&
&/item&
&item id=&author&&
&item id=&name&&&![CDATA[作者]]&&/item&
&item id=&formtype&&&![CDATA[text]]&&/item&
&item id=&datatype&&&![CDATA[text]]&&/item&
&/item&
&item id=&authorid&&
&item id=&name&&&![CDATA[作者ID]]&&/item&
&item id=&formtype&&&![CDATA[text]]&&/item&
&item id=&datatype&&&![CDATA[int]]&&/item&
&/item&
&item id=&field1&&
&item id=&name&&&![CDATA[字段1]]&&/item&
&item id=&formtype&&&![CDATA[text]]&&/item&
&item id=&datatype&&&![CDATA[string]]&&/item&
&/item&
&item id=&field2&&
&item id=&name&&&![CDATA[字段2]]&&/item&
&item id=&formtype&&&![CDATA[text]]&&/item&
&item id=&datatype&&&![CDATA[string]]&&/item&
&/item&
&/item&
&item id=&getsetting&&
&item id=&param1&&
&item id=&title&&&![CDATA[数据调用参数1]]&&/item&
&item id=&type&&&![CDATA[text]]&&/item&
&item id=&default&&&![CDATA[]]&&/item&
&/item&
&item id=&param2&&
&item id=&title&&&![CDATA[数据调用参数2]]&&/item&
&item id=&type&&&![CDATA[mcheckbox]]&&/item&
&item id=&value&&
&item id=&0&&
&item id=&0&&&![CDATA[1]]&&/item&
&item id=&1&&&![CDATA[选项1]]&&/item&
&/item&
&item id=&1&&
&item id=&0&&&![CDATA[2]]&&/item&
&item id=&1&&&![CDATA[选项2]]&&/item&
&/item&
&/item&
&item id=&default&&&![CDATA[1]]&&/item&
&/item&
&item id=&titlelength&&
&item id=&title&&&![CDATA[标题长度]]&&/item&
&item id=&type&&&![CDATA[text]]&&/item&
&item id=&default&&&![CDATA[40]]&&/item&
&/item&
&item id=&summarylength&&
&item id=&title&&&![CDATA[简介长度]]&&/item&
&item id=&type&&&![CDATA[text]]&&/item&
&item id=&default&&&![CDATA[80]]&&/item&
&/item&
&item id=&start&&
&item id=&title&&&![CDATA[起始数据行数]]&&/item&
&item id=&type&&&![CDATA[text]]&&/item&
&item id=&default&&&![CDATA[0]]&&/item&
&/item&
&/item&
&item id=&style&&
&item id=&0&&
&item id=&name&&&![CDATA[模板名称]]&&/item&
&item id=&template&&&![CDATA[&div class=&module cl xl xl1&&&ul&[loop]&li&&em&&a href=&home.php?uid={authorid}&&&FONT COLOR=&RED&&{author}&/FONT&&/a&&/em&&a href=&{url}&&{title}&/a&&/li&[/loop]&/ul&&/div&]]&&/item&
&/item&
&item id=&1&&
&item id=&name&&&![CDATA[模板名称红色]]&&/item&
&item id=&template&&&![CDATA[&div class=&module cl xl xl1&&&ul&[loop]&li&&em&&font color=&red&&&a href=&home.php?uid={authorid}&&{author}&/a&&/font&&/em&&a href=&{url}&&{title}&/a&&/li&[/loop]&/ul&&/div&]]&&/item&
&/item&
&/item&
&/item&
&/root&
复制代码第三步:建立第三方模块
&&管理平台 》 门户 》 第三方模块 》 添加:
&&第三方地址:url/1.php
&&客户短ID:200000&&见1.php的133行
&&签名加密方式:MD5签名
&&通信密匙:1#9!(@@34#94
点击提交,完成模块建立工作。
第四步:前台页面调用:
&&DIY网页 》 DIY 》 高级模式 》 模块 》 第三方类
&&是不是看到刚刚建立的模块了。
&&选择调用即可。
第五步:扩展读取任一(包括外部)网页HTML代码数据,新建一个网页“ee.htm”,数据规范如下:&?xml version=&1.0& encoding=&ISO-8859-1&?&
&root&
&item id=&html&&&![CDATA[]]&&/item&
&item id=&data&&
&item id=&0&&
&item id=&id&&&![CDATA[14]]&&/item&
&item id=&title&&&![CDATA[xml_block_title14]]&&/item&
&item id=&url&&&![CDATA[xml_server.php]]&&/item&
&item id=&pic&&&![CDATA[nophoto.gif]]&&/item&
&item id=&picflag&&&![CDATA[1]]&&/item&
&item id=&summary&&&![CDATA[]]&&/item&
&item id=&fields&&
&item id=&author&&&![CDATA[xml_user14]]&&/item&
&item id=&authorid&&&![CDATA[14]]&&/item&
&item id=&field1&&&![CDATA[field1value14]]&&/item&
&item id=&field2&&&![CDATA[field2value14]]&&/item&
&/item&
&/item&
&item id=&1&&
&item id=&id&&&![CDATA[15]]&&/item&
&item id=&title&&&![CDATA[xml_block_title15]]&&/item&
&item id=&url&&&![CDATA[xml_server.php]]&&/item&
&item id=&pic&&&![CDATA[nophoto.gif]]&&/item&
&item id=&picflag&&&![CDATA[1]]&&/item&
&item id=&summary&&&![CDATA[]]&&/item&
&item id=&fields&&
&item id=&author&&&![CDATA[xml_user15]]&&/item&
&item id=&authorid&&&![CDATA[15]]&&/item&
&item id=&field1&&&![CDATA[field1value15]]&&/item&
&item id=&field2&&&![CDATA[field2value15]]&&/item&
&/item&
&/item&
&/item&
&/root&
复制代码第六步:读取外部网页(ee.htm)时1.PHP的代码:
&&适合格式固化的网页使用,安全则自己去加上。&?php
define('CHARSET', 'GBK'); //服务器端数据编码
if($_POST['op'] == 'getdata') { //判断是否为请求数据列表
$xml = file_get_contents('ee.htm');//读取网页数据 如下传递参数另..
} else if($_GET['op'] == 'getconfig') {
$xml = file_get_contents('block_xml_sample.xml'); //安装时候需要调用的网页;为配置规范XML文档示例
} else {
$xml = 'NO_OPERATION';
}
ob_end_clean();
@header(&Expires: -1&);
@header(&Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0&, FALSE);
@header(&Pragma: no-cache&);
header(&Content-type: text/xml&);
echo $
exit();
?&复制代码以上的步骤就解决了DZ可以与任一网站数据共享的问题。
这个条用方式很灵活
試試看~ 會不會成功~
这是好东西啊,不知道有没有人测试成功过?
我现在的网站 涉及分类信息的调用 几乎全部是这个方法
第三方模块推送有哪个知道?
本帖最后由 rohv 于
17:18 编辑
第三方模块推送有哪个知道?
Powered by}

我要回帖

更多关于 discuz api接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信