1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信公众平台——高级群发接口

微信公众平台——高级群发接口

时间:2019-05-15 13:22:42

相关推荐

微信公众平台——高级群发接口

微信公众平台——高级群发接口

微信公众账号在使用接口时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id进行的。通过该接口,微信公众账号可以上传和下载多媒体文件。

1、上传多媒体文件(这里以上传图片为例)

uses IdMultipartFormData;

const

UpMediaUrl ='http://file.api./cgi-bin/media/upload?access_token=%s&type=%s';

function UpMedia(HTTP: TIdHTTP; AccessToken, MediaType, MediaFile: String): String;varJ: TJSONObject;Url: String;temp: String;FormData: TIdMultiPartFormDataStream;RespData: TStringStream;beginRespData := TStringStream.Create('');FormData := TIdMultiPartFormDataStream.Create;J := TJSONObject.Create;tryFormData.AddFile('media', MediaFile);Url := Format(UpMediaUrl, [AccessToken, MediaType]);HTTP.Post(Url, FormData, RespData);temp := RespData.DataString;HTTP.Request.Referer := Url;J := TJSONObject.ParseJSONValue(temp) as TJSONObject;if J.Count > 0 thenResult := J.GetValue('media_id').Valueelse Result := '';finallyFormData.Free;RespData.Free;J.Free;end;end;//返回媒体文件的media_id备用

2、上传图文消息素材

TGRPNews = recordMediaID:String;//缩略图的media_idAuthor:String;//作者Title:String;//标题SorceUrl:String;//阅读原文的地址Content:String;//图文消息的内容支持html标签Digest:String;//摘要ShowCover:String;//是否显示封面end;

const

UpNewsUrl ='https://api./cgi-bin/media/uploadnews?access_token=%s';

function UpNews(Num: Integer; AccessToken: String): String;//Num最大为10varJ: TJSONObject;N: array of TJSONObject;Url: String;temp: String;C: array of TStringList;G: array of TGRPNews;i: Integer;T: TStringList;beginJ := TJSONObject.Create;T := TStringList.Create;T.LoadFromFile('F:\t.txt');//图消息的title,需提前写好SetLength(N, Num);SetLength(C, Num);//图文消息的内容SetLength(G, Num);//自定义的图文消息结构体tryJ.AddPair('articles', TJSONArray.Create);with J.GetValue('articles') as TJSONArray dofor i := 0 to Num - 1 dobeginC[i] := TStringList.Create;C[i].LoadFromFile(Format('F:\%d.txt', [i]));//调用图文消息的内容,需提前写好G[i].MediaID := UpMedia(AccessToken, 'image', Format('F:\%d.jpg', [i]));G[i].Author := '';G[i].Title := T[i];G[i].SorceUrl := '';G[i].Content := C[i].Text;G[i].Digest := T[i];G[i].ShowCover := '0';tryN[i] := TJSONObject.Create;N[i].AddPair('thumb_media_id', G[i].MediaID);N[i].AddPair('author', G[i].Author);N[i].AddPair('title', G[i].Title);N[i].AddPair('content_source_url', G[i].SorceUrl);N[i].AddPair('content', G[i].Content);N[i].AddPair('digest', G[i].Digest);N[i].AddPair('show_cover_pic', G[i].ShowCover);Add(N[i]);finallyC[i].Free;end;end;Url := Format(UpNewsUrl, [AccessToken]);temp := PostMethod(Url, UTF8Encode(J.ToString), 1);J := TJSONObject.ParseJSONValue(temp) as TJSONObject;if J.Count > 0 thenResult := J.GetValue('media_id').Value;finallyJ.Free;T.Free;end;end;//返回图文消息的media_id备用

3、预览上传的图文消息

constPreviewUrl = 'https://api./cgi-bin/message/mass/preview?access_token=%s';function GroupPreviewNews(OpenID, MediaID, AccessToken: String):TJSONObject;varJ: TJSONObject;Url: String;temp: String;beginJ := TJSONObject.Create;tryJ.AddPair('touser', OpenID);J.AddPair('mpnews', TJSONObject.Create);with J.GetValue('mpnews') as TJSONObject dobeginAddPair('media_id', MediaID);end;J.AddPair('msgtype', 'mpnews');Url := Format(PreviewUrl, [AccessToken]);temp:=PostMethod(Url, UTF8Encode(J.ToString), 1);Result:=TJSONObject.ParseJSONValue(temp) as TJSONObject;finallyJ.Free;end;end;

4、按组群发图文消息

constGroupSendUrl = 'https://api./cgi-bin/message/mass/sendall?access_token=%s';function GroupSendNews(GroupID, MediaID, AccessToken: String):TJSONObject;varJ: TJSONObject;Url: String;temp: String;beginJ := TJSONObject.Create;tryJ.AddPair('filter', TJSONObject.Create);with J.GetValue('filter') as TJSONObject dobeginAddPair('is_to_all', TJSONFalse.Create);AddPair('group_id', GroupID);end;J.AddPair('mpnews', TJSONObject.Create);with J.GetValue('mpnews') as TJSONObject dobeginAddPair('media_id', MediaID);end;J.AddPair('msgtype', 'mpnews');Url := Format(GroupSendUrl, [AccessToken]);temp:=PostMethod(Url, UTF8Encode(J.ToString), 1);Result:=TJSONObject.ParseJSONValue(temp) as TJSONObject;finallyJ.Free;end;end;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。