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语言开发微信公众平台的第一部分——环境搭建与开发接 ...
随机推荐
- Cookie进行会话管理
一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...
- 关于Application.DoEvents()==转
记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...
- 42. Trapping Rain Water (Array,stack; DP)
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- mac常用软件
捕捉图片文字的软件:Picatext.v1.0 模拟网络环境的软件:hardware_io_tools_for_xcode__october_2013 读取PDF的软件:PDF Expert 20 马 ...
- 归并排序/合并排序c++实现
#include <iostream>#include<string.h> using namespace std;class merges{public:void merge ...
- boost x64 lib
libboost_atomic-vc150-mt-gd-x64-1_66.liblibboost_atomic-vc150-mt-s-x64-1_66.liblibboost_atomic-vc150 ...
- Castle ActiveRecord学习(四)延迟加载、分页查询、where条件
一.延迟加载 //用户发布的主题,一对多:Table:外键表:ColumnKey:外键:Lazy:延迟加载:Cascade:级联操作(级联删除) [HasMany(typeof(ThemeInfo), ...
- sqlserver查询区分大小写
例子: select * from tb_students where name='jay' select * from tb_students where name='JAY' 这两句查询结果是一样 ...
- pthread_exit pthread_join
int pthread_join(pthread_t thread, void **retval); int pthread_detach(pthread_t thread); void pthrea ...
- python编辑excel
转: http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html