通用接口
網(wǎng)站開(kāi)放API接口說(shuō)明頁(yè)面。
通用接口云夢(mèng)API開(kāi)放平臺(tái)是基于云夢(mèng)建站技術(shù)實(shí)踐經(jīng)驗(yàn),面向云夢(mèng)建站用戶及合作伙伴,提供高易用的API服務(wù)。目前適用于“云·速成美站”、“云·企業(yè)官網(wǎng)”內(nèi)的文章、產(chǎn)品的增、刪、改、查操作,旨在幫助用戶加速創(chuàng)建網(wǎng)站的文章、產(chǎn)品。
本產(chǎn)品(云·速成美站、云·企業(yè)官網(wǎng))的OpenAPI采用RESTful接口請(qǐng)求方式,請(qǐng)求方法詳見(jiàn)API右側(cè)。在使用API前,您需要登錄到您的產(chǎn)品后臺(tái)-網(wǎng)站管理-AccessKey管理,新建AccessKey后直接調(diào)用API,或復(fù)制到云夢(mèng)API開(kāi)放平臺(tái)(https://open-api.clouddream.net/),粘貼所復(fù)制的站點(diǎn)域名、AccessId、AccessKey,即可鑒權(quán)通過(guò)訪問(wèn)API。
接入指南
“云夢(mèng)智能開(kāi)放API”通過(guò)API接口對(duì)外開(kāi)放數(shù)據(jù)傳輸,使得第三方開(kāi)發(fā)者可以方便地將其集成到自己的應(yīng)用程序或系統(tǒng)中,提高數(shù)據(jù)共享效率。以下為對(duì)接微信公眾號(hào)應(yīng)用場(chǎng)景示例。
一. 接入準(zhǔn)備
獲取網(wǎng)站的AK/SK
登錄到您的產(chǎn)品后臺(tái),選擇網(wǎng)站管理 > AccessKey管理。
進(jìn)入AccessKey管理,點(diǎn)擊新建AccessKey,點(diǎn)擊調(diào)用API圖標(biāo),進(jìn)入云夢(mèng)API開(kāi)放平臺(tái),自動(dòng)粘貼所復(fù)制的站點(diǎn)域名、AccessId、AccessKey,即可通過(guò)鑒權(quán)訪問(wèn)API。
獲取微信公眾號(hào)的身份認(rèn)證
獲取微信AppID和AppSecret
AppID和AppSecret可在微信公眾平臺(tái) > 開(kāi)發(fā) > 基本配置頁(yè)中獲得(需要已經(jīng)成為開(kāi)發(fā)者,且賬號(hào)沒(méi)有異常狀態(tài))。
調(diào)用接口時(shí),請(qǐng)登錄微信公眾平臺(tái) > 開(kāi)發(fā) > 基本配置提前將服務(wù)器IP地址添加到IP白名單中,點(diǎn)擊查看設(shè)置方法,否則將無(wú)法調(diào)用成功。
獲取 Access token
access_token是公眾號(hào)的全局唯一接口調(diào)用憑據(jù),公眾號(hào)調(diào)用各接口時(shí)都需使用access_token。
使用AppID和AppSecret調(diào)用本接口來(lái)獲取access_token。
二. 調(diào)用說(shuō)明
導(dǎo)入微站圖片到微信永久圖片素材
微站圖片可以直接同步到微信公眾號(hào),方便快捷管理圖文消息,并且圖片永久使用。新增的永久素材也可以在公眾平臺(tái)官網(wǎng)素材管理模塊中查詢管理。
使用方法:
具體調(diào)用步驟可參見(jiàn)下方提供的demo示例。
使用微信access_token訪問(wèn)新增永久素材接口,可查看接口使用方法
導(dǎo)入微站文章到微信并發(fā)布
微站文章也可以直接同步到微信公眾號(hào),直接在公眾號(hào)管理圖文消息。還支持正文中插入自己賬號(hào)和其他公眾號(hào)已群發(fā)文章鏈接的能力。
使用方法:
新增文章到微信草稿
具體調(diào)用步驟可參見(jiàn)下方提供的demo示例。
使用微信access_token訪問(wèn)新增草稿接口,可查看接口使用方法
發(fā)布微信草稿
開(kāi)發(fā)者需要先將圖文素材以草稿的形式保存(見(jiàn)草稿箱 > 新建草稿,如需從已保存的草稿中選擇,見(jiàn)草稿箱 > 獲取草稿列表),選擇要發(fā)布的草稿 media_id 進(jìn)行發(fā)布。查看發(fā)布接口使用方法
三. Demo摘要
完整示例見(jiàn)下方github鏈接。
using ApiCallerDemo.Logic; using ApiCallerDemo.Models.WeChat; namespace ApiCallerDemo { internal class Program { private static void InitArg(ref string arg, string argName) { while (string.IsNullOrWhiteSpace(arg)) { Console.WriteLine($"請(qǐng)輸入{argName},按回車確認(rèn)"); arg = Console.ReadLine() ?? string.Empty; } } static async Task Main(string[] args) { var weZhanAccessId = ""; var weZhanAccessKey = ""; var weZhanDomain = ""; var weChatAppId = ""; var weChatSecret = ""; #region 檢查參數(shù)是否有填寫,如果沒(méi)有填寫則提示輸入?yún)?shù) InitArg(ref weZhanAccessId, $"微站AccessId(如:{Guid.NewGuid():N})"); InitArg(ref weZhanAccessKey, $"微站AccessKey(如:{Guid.NewGuid()})"); InitArg(ref weZhanDomain, "微站域名(如:https://1234abcd.scd.wezhan.cn)"); InitArg(ref weChatAppId, "微信AppId(如:wxda4bxxxxxxxxxxxx)"); InitArg(ref weChatSecret, "微信Secret(如:d3ff739088698daxxxxxxxxxxxxxxxxx)"); #endregion //初始化一個(gè)微站Api調(diào)用實(shí)例 var weZhanApiCaller = new WeZhanApiCaller(weZhanAccessId, weZhanAccessKey, weZhanDomain); //初始化一個(gè)臨時(shí)的微信accessToken var accessToken = await WeChatApiCaller.InitTokenAsync(weChatAppId, weChatSecret); //初始化一個(gè)微信Api調(diào)用實(shí)例 var weChatApiCaller = new WeChatApiCaller(accessToken); //獲取一批微站文章ID,并且遍歷 foreach (var articleId in await weZhanApiCaller.GetArticleIdListAsync(1, 10)) { try { //獲取文章詳情 var article = await weZhanApiCaller.GetArticleDetailAsync(articleId); //下載文章主圖,如果沒(méi)有主圖,則無(wú)法發(fā)布為微信文章草稿,因?yàn)槲⑿判枰莞逵幸粡堉鲌D var imgBytes = await weZhanApiCaller.DownloadImgAsync(article.PictureUrl); //上傳主圖,并且獲取素材ID var mediaId = await weChatApiCaller.UploadImage2WeChatAsync(imgBytes); //根據(jù)文章內(nèi)容、主圖素材ID,生成一篇文章草稿 var draftId = await weChatApiCaller.AddDraftAsync(new DraftRequest() { author = "小編", title = article.Title, digest = article.Summary, content = article.ContentDetail, thumb_media_id = mediaId, need_open_comment = 0, only_fans_can_comment = 0, }); //發(fā)布文章草稿,大功告成~ await weChatApiCaller.PublishDraftAsync(draftId); Console.WriteLine($"文章[{article.Title}]同步到微信成功"); } catch (Exception e) { Console.WriteLine($"文章Id[{articleId}]同步到微信失敗,{e.Message} {e.StackTrace}"); } } } } }
四. 示例代碼下載
我們提供了.NET版 API調(diào)用示例,開(kāi)發(fā)者可下載使用。 下載地址:https://github.com/woxieao/WeZhanApiCallerDemo