Delphi XE7 用indy开发微信公众平台所有功能,可刷阅读,可刷赞,可加推广(除微支付)
http://www.cnblogs.com/devinlee/p/4565933.html
Delphi XE7 用indy开发微信公众平台所有功能,可刷阅读,可刷赞,可加推广(除微支付)
关注作者的微信公众平台,测试效果
包含微信公众平台的所有功能(除微支付)
示例代码:(如需要全部代码,请加作者微信:Leedege)
复制代码
function UpNews(Num: Integer; AccessToken: String): String;
var
J: TJSONObject;
N: array of TJSONObject;
Url: String;
temp: String;
i: Integer;
readnum, ad: TStringList;
begin
J := TJSONObject.Create;
readnum := TStringList.Create;
ad := TStringList.Create;
ad.LoadFromFile('ad.txt');
SetLength(N, Num);
try
J.AddPair('articles', TJSONArray.Create);
with J.GetValue('articles') as TJSONArray do
for i := 0 to Num - 1 do
begin
temp := TNewsMsg(NewsList.Items[i]^).Content;
if TNewsMsg(NewsList.Items[i]^).AddTop then
temp := TNewsMsg(NewsList.Items[i]^).adTop + temp;
readnum.LoadFromFile('readnum.txt');
if TNewsMsg(NewsList.Items[i]^).RefreshReadNum then
readnum.Text := StringReplace(readnum.Text, 'readNum',
TNewsMsg(NewsList.Items[i]^).readnum, [rfReplaceAll]);
if TNewsMsg(NewsList.Items[i]^).RefreshLikeNum then
readnum.Text := StringReplace(readnum.Text, 'likeNum">',
TNewsMsg(NewsList.Items[i]^).LikeNum, [rfReplaceAll]);
if TNewsMsg(NewsList.Items[i]^).SourceURL '' then
readnum.Text := StringReplace(readnum.Text, 'href=""',
Format('href="%s"', [TNewsMsg(NewsList.Items[i]^).SourceURL]),
[rfReplaceAll]);
temp := temp + readnum.Text;
readnum.Clear;
if TNewsMsg(NewsList.Items[i]^).AddBottom then
temp := temp + ad.Text + TNewsMsg(NewsList.Items[i]^).adBottom;
N[i] := TJSONObject.Create;
N[i].AddPair('thumb_media_id', UpMedia(AccessToken, 'image',
TNewsMsg(NewsList.Items[i]^).CoverFile));
N[i].AddPair('author', TNewsMsg(NewsList.Items[i]^).Author);
N[i].AddPair('title', TNewsMsg(NewsList.Items[i]^).Title);
N[i].AddPair('content_source_url', '');
N[i].AddPair('content', temp);
N[i].AddPair('digest', TNewsMsg(NewsList.Items[i]^).Digest);
N[i].AddPair('show_cover_pic', TNewsMsg(NewsList.Items[i]^)
.ShowCover.ToString);
Add(N[i]);
temp := '';
end;
Url := Format(UpNewsUrl, [AccessToken]);
temp := PostMethod(Url, UTF8Encode(J.ToString), 1);
J := TJSONObject.ParseJSONValue(temp) as TJSONObject;
if J.Count > 0 then
Result := J.GetValue('media_id').Value;
finally
J.Free;
readnum.Free;
ad.Free;
end;
end;
复制代码
作者微信:Leedege
Delphi XE7 用indy开发微信公众平台所有功能,可刷阅读,可刷赞,可加推广(除微支付)的更多相关文章
- Delphi XE7 用indy开发微信公众平台所有功能(10篇博客)
http://www.cnblogs.com/devinlee/p/4282498.html http://www.cnblogs.com/devinlee/p/4565933.html
- [c#]asp.net开发微信公众平台(1)数据库设计
开发微信公众平台之前,先去微信官方了解下大概的情况 这里:http://mp.weixin.qq.com/wiki/index.php :看了之后心里大致有数了,开始设计数据库,尽可能的考虑,未考虑到 ...
- [C#]asp.net开发微信公众平台----目录汇总-持续更新
1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...
- [c#]asp.net开发微信公众平台(8)微信9大高级接口,自定义菜单
前7篇把最基础的消息接收和回复全做完了, 也把高级接口的入口和分拆处理写好了空方法, 此篇接着介绍微信的9大高级接口, 并着重讲解其中的自定义菜单. 微信9大接口为: 1.语音识别接口 2.客服接 ...
- [c#]asp.net开发微信公众平台(7)前6篇的整体框架demo源码
这里给出的demo是具备整体框架的微信公众平台源码, 所谓demo就是拿过去就可以直接演示使用的东西, 当然不会具备非常详细的具体到业务层面.数据层面的东西, 每个人都可以在此基础上自由发挥, 只 ...
- [c#]asp.net开发微信公众平台(6)阶段总结、服务搭建、接入
经过前5篇,跟着一步步来的话,任何人都能搭建好一个能处理各种微信消息的框架了,总结一下最容易忽略的问题: 1.文本消息中可以使用换行符\n : 2.微信发来的消息中带的那个长整型的时间,我们完全 ...
- [c#]asp.net开发微信公众平台(5)微信图文消息
上篇已经成功响应了关注事件,也实现了文本消息的发送,这篇开始图文消息处理, 微信中最常用的消息类型就是图文消息了,因为它图文并茂,最能表达信息. 图文消息在微信中的接口定义如下: <xml> ...
- C#开发微信公众平台-就这么简单(附Demo)转载
C#开发微信公众平台-就这么简单(附Demo) 来源:https://www.cnblogs.com/xishuai/p/3625859.html#!comments 写在前面 阅读目录: 服务号和 ...
- 使用Java开发微信公众平台(二)——消息的接收与响应
上一篇文章(http://www.jerehedu.com/fenxiang/171807_for_detail.htm )中,我们学习了使用Java语言开发微信公众平台的第一部分——环境搭建与开发接 ...
随机推荐
- Eclipse生成jar文件
很多人都不知道怎么在Eclipse下生成jar文件,或者生成了jar文件后又老是用不了,总是会收到 Exception in thread "main" Java.lang.NoC ...
- eclipise快捷键,留给以后备用
快捷键无效解决办法: 1.考虑是否被其他应用占用,如QQ,QQ音乐,千千动听等 2.在eclispe查看是否被修改:Window->Preferences->General->Key ...
- 第八章 高级搜索树 (xa1)红黑树:动机
- Python反转
1切片 s="svdfbffdbdf" a=s[::-1] 2入栈出栈 入栈之后再出栈正好就是了 3reverse 这个函数是列表的....你要先把str转成list list-& ...
- 【校招面试 之 网络】第1题 TCP和UDP
TCP UDP1.TCP与UDP基本区别 (1)基于连接与无连接 (2)TCP要求系统资源较多,UDP较少: (3)UDP程序结构较简单(头只有8个字节:源端口号.目标端口号.长度.差错) ...
- day11:vcp考试
Q201. Which two options are available in the Virtual Machine Component Protection (VMCP) setting Res ...
- Docker commit 制作weblogic镜像
第一:前提条件 1.本机必须已经安装了docker 容器 2.pull 一个基础的镜像 如图:rastasheep/ubuntu-sshd 第二:利用docker commit 命令 将容器的状态 ...
- DB2数据库常用命令数据库学习
DB2数据库常用命令数据库学习你可以用 get snapshot for locks on XXX 看是那个表锁了,再从相关的操作去查原因吧 db2pd -d 库名 -locks和db2pd -d 库 ...
- mysql thread_cache 和 thread_pool 之间的关系
线程池是Mysql5.6的一个核心功能,对 于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题.当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导 致资源利用 ...
- 04 存储库之mongodb
MongoDB 一 简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库1.易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库.不采用 ...