cari
Rumahpembangunan bahagian belakangTutorial C#.NetASP.NET微信公众号查看粉丝信息接口

ASP.NET微信公众号查看粉丝信息接口

Dec 20, 2016 pm 01:27 PM
Akaun awam WeChat

本文实例为大家分享了ASP.NET微信粉丝信息接口查看代码,供大家参考,具体内容如下

微信Token实体类:

/// <summary>
/// 微信Token实体类
/// </summary>
public class WeChatTokenEntity
{
public string Access_token { get; set; }
 
public string Expires_in { get; set; }
}

用户信息实体类

/// <summary>
/// 用户实体信息类
/// </summary>
public class WeChatUserEntity
{
public string Subscribe { get; set; }
 
public string Openid { get; set; }
 
public string Nickname { get; set; }
 
public string Sex { get; set; }
 
public string City { get; set; }
 
public string Province { get; set; }
 
public string Country { get; set; }
 
public string HeadImgUrl { get; set; }
 
public string Subscribe_time { get; set; }
 
public string Language { get; set; }
}

   

微信辅助操作类

public class WeChatDemo
{
/*
 * 步骤:
 * 1.通过appid和secret请求微信url,得到token
 * 2.通过access_token和openid得到用户信息(头像地址等)
 * 3.通过access_token和media_id得到用户发送的微信消息
 *
 */
 
 
string appId = "wxxxxxxxxxxxxxx";
string appSecret = "1234567890-==687";
 
string wechatUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}";
 
 
public WeChatDemo()
{
 
}
 
/// <summary>
/// 获取token信息
/// </summary>
/// <returns></returns>
public WeChatTokenEntity GetWechatToken()
{
 //请求的url地址
 string tokenUrl = string.Format(wechatUrl, appId, appSecret);
 WeChatTokenEntity myToken;
 
 try
 {
 //声明并实例化一个WebClient对象
 WebClient client = new WebClient();
 //从执行url下载数据
 byte[] pageData = client.DownloadData(tokenUrl);
 //把原始数据的byte数组转为字符串
 string jsonStr = Encoding.Default.GetString(pageData);
 //初始化一个JavaScriptSerializer json解析器
 //序列化注意:需要引用System.Web.Extensions
 JavaScriptSerializer jss = new JavaScriptSerializer();
 //将字符串反序列化为Token对象
 myToken = jss.Deserialize<WeChatTokenEntity>(jsonStr);
 }
 catch (WebException ex)
 {
 throw ex;
 }
 catch (Exception ex)
 {
 throw ex;
 }
 
 return myToken;
}
 
/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="accessToken"></param>
/// <param name="openId"></param>
/// <returns></returns>
public WeChatUserEntity GetUserIfo(string accessToken, string openId)
{
 WeChatUserEntity wue = new WeChatUserEntity();
 
 string url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}";
 
 url = string.Format(url, accessToken, openId);
 
 try
 {
 WebClient wc = new WebClient();
 byte[] pageData = wc.DownloadData(url);
 string jsonStr = Encoding.UTF8.GetString(pageData);
 JavaScriptSerializer jss = new JavaScriptSerializer();
 wue = jss.Deserialize<WeChatUserEntity>(jsonStr);
 
 }
 catch (WebException ex)
 {
 throw ex;
 }
 catch (Exception ex)
 {
 throw ex;
 }
 
 return wue;
}
 
public string GetVoice(string accessToken, string mediaId)
{
 string voiceAddress = string.Empty;
 string voiceUrl = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={0}&media_id={1}";
 voiceUrl = string.Format(voiceUrl, accessToken, mediaId);
 
 WebClient wc = new WebClient();
 byte[] pageData = wc.DownloadData(voiceUrl);
 string jsonStr = Encoding.UTF8.GetString(pageData);
 
 //TODO:获取声音
 voiceAddress = jsonStr;
 
 return voiceAddress;
}
 
/// <summary>
/// 时间戳转为当前时间
/// </summary>
/// <param name="timeStamp"></param>
/// <returns></returns>
public DateTime TimeStamp2DateTime(string timeStamp)
{
 DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
 long time = long.Parse(timeStamp + "0000000");
 TimeSpan toNow = new TimeSpan(time);
 return dtStart.Add(toNow);
}
 
}

   

主程序:

class Program
{
static void Main(string[] args)
{
 WeChatDemo wcd = new WeChatDemo();
 WeChatTokenEntity wte = wcd.GetWechatToken();
 string token = wte.Access_token;
 string openId = "ogNVpt52xxxxxxxxxxxxxxxxxx";
 
 Console.WriteLine("第一步:获得access_token:\n " + token + "\n");
 
 Console.WriteLine("第二步:获得用户信息");
 WeChatUserEntity user = wcd.GetUserIfo(token, openId);
 
 Console.WriteLine("\n昵称:" + user.Nickname);
 Console.WriteLine("国家:" + user.Country);
 Console.WriteLine("省份:" + user.Province);
 Console.WriteLine("城市:" + user.City);
 Console.WriteLine("语言:" + user.Language);
 Console.WriteLine("性别:" + user.Sex);
 Console.WriteLine("OpenId:" + user.Openid);
 Console.WriteLine("是否订阅:" + user.Subscribe);
 Console.WriteLine("时间:" + wcd.TimeStamp2DateTime(user.Subscribe_time));
 Console.WriteLine("头像地址:" + user.HeadImgUrl);
 
 Console.WriteLine("\n第三步:获取微信声音地址");
 string mediaId = "vwvnskvsldkvmsdlvkmdslkvmsld";
 
 string voiceAddress = wcd.GetVoice(token, mediaId);
 Console.WriteLine("声音地址:" + voiceAddress);
 Console.Read();
}
}

   

运行结果如图:

ASP.NET微信公众号查看粉丝信息接口

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
C# sebagai bahasa .net: asas ekosistemC# sebagai bahasa .net: asas ekosistemMay 02, 2025 am 12:01 AM

C# adalah bahasa pengaturcaraan yang dikeluarkan oleh Microsoft pada tahun 2000, yang bertujuan untuk menggabungkan kuasa C dan kesederhanaan Java. 1.C# adalah bahasa pengaturcaraan yang berorientasikan objek, yang menyokong enkapsulasi, warisan dan polimorfisme. 2. Proses penyusunan C# menukarkan kod tersebut ke dalam bahasa pertengahan (IL), dan kemudian menyusunnya ke dalam pelaksanaan kod mesin dalam persekitaran runtime .NET (CLR). 3. Penggunaan asas C# termasuk pengisytiharan berubah -ubah, aliran kawalan dan definisi fungsi, sementara penggunaan lanjutan meliputi pengaturcaraan asynchronous, LINQ dan perwakilan, dan lain -lain. 5. Cadangan Pengoptimuman Prestasi termasuk penggunaan LINQ, pengaturcaraan asynchronous, dan meningkatkan kebolehbacaan kod.

C# vs.NET: Menjelaskan perbezaan dan persamaan utamaC# vs.NET: Menjelaskan perbezaan dan persamaan utamaMay 01, 2025 am 12:12 AM

C# adalah bahasa pengaturcaraan, manakala .NET adalah rangka kerja perisian. 1.C# dibangunkan oleh Microsoft dan sesuai untuk pembangunan pelbagai platform. 2..NET menyediakan perpustakaan kelas dan persekitaran runtime, dan menyokong pelbagai bahasa. Kedua -dua bekerja bersama untuk membina aplikasi moden.

Di luar gembar -gembur: Menilai peranan semasa C# .netDi luar gembar -gembur: Menilai peranan semasa C# .netApr 30, 2025 am 12:06 AM

C# .NET adalah platform pembangunan yang kuat yang menggabungkan kelebihan bahasa C# dan .NET. 1) Ia digunakan secara meluas dalam aplikasi perusahaan, pembangunan web, pembangunan permainan dan pembangunan aplikasi mudah alih. 2) Kod C# disusun menjadi bahasa pertengahan dan dilaksanakan oleh persekitaran runtime .NET, menyokong pengumpulan sampah, jenis keselamatan dan pertanyaan Linq. 3) Contoh penggunaan termasuk output konsol asas dan pertanyaan Linq maju. 4) Kesalahan biasa seperti rujukan kosong dan kesilapan penukaran jenis boleh diselesaikan melalui debuggers dan pembalakan. 5) Cadangan Pengoptimuman Prestasi termasuk pengaturcaraan dan pengoptimuman pertanyaan Linq. 6) Walaupun persaingan, C#.NET mengekalkan kedudukan pentingnya melalui inovasi berterusan.

Masa Depan C# .NET: Trend dan PeluangMasa Depan C# .NET: Trend dan PeluangApr 29, 2025 am 12:02 AM

Trend masa depan C#.NET terutamanya tertumpu pada tiga aspek: pengkomputeran awan, microservices, AI dan integrasi pembelajaran mesin, dan pembangunan silang platform. 1) Pengkomputeran awan dan microservices: C#.NET mengoptimumkan prestasi persekitaran awan melalui platform Azure dan menyokong pembinaan seni bina microservice yang cekap. 2) Integrasi AI dan Pembelajaran Mesin: Dengan bantuan Perpustakaan ML.NET, pemaju C# boleh membenamkan model pembelajaran mesin dalam aplikasi mereka untuk mempromosikan pembangunan aplikasi pintar. 3) Pembangunan silang platform: Melalui .Netcore dan .NET5, C# Aplikasi boleh dijalankan pada Windows, Linux dan MacOS, memperluaskan skop penempatan.

C# .NET Pembangunan Hari Ini: Trend dan Amalan TerbaikC# .NET Pembangunan Hari Ini: Trend dan Amalan TerbaikApr 28, 2025 am 12:25 AM

Perkembangan terkini dan amalan terbaik dalam pembangunan C#. NET termasuk: 1. Pengaturcaraan Asynchronous meningkatkan respons aplikasi, dan memudahkan kod yang tidak menyekat menggunakan async dan menunggu kata kunci; 2. LINQ menyediakan fungsi pertanyaan yang kuat, memanipulasi data dengan cekap melalui pelaksanaan dan pokok ekspresi yang tertunda; 3. Cadangan Pengoptimuman Prestasi termasuk menggunakan pengaturcaraan asynchronous, mengoptimumkan pertanyaan LINQ, memori pengurusan rasional, meningkatkan kebolehbacaan dan penyelenggaraan kod, dan ujian unit penulisan.

C# .NET: Membina aplikasi dengan ekosistem .NETC# .NET: Membina aplikasi dengan ekosistem .NETApr 27, 2025 am 12:12 AM

Bagaimana Membina Aplikasi Menggunakan .NET? Membina aplikasi menggunakan .NET boleh dicapai melalui langkah-langkah berikut: 1) Memahami asas-asas .NET, termasuk C# bahasa dan sokongan pembangunan silang platform; 2) mempelajari konsep teras seperti komponen dan prinsip kerja ekosistem .NET; 3) menguasai penggunaan asas dan lanjutan, dari aplikasi konsol mudah ke operasi WebAPIS dan pangkalan data yang kompleks; 4) terbiasa dengan kesilapan biasa dan teknik debugging, seperti konfigurasi dan isu sambungan pangkalan data; 5) Pengoptimuman prestasi aplikasi dan amalan terbaik, seperti pengaturcaraan dan caching asynchronous.

C# sebagai bahasa yang serba boleh. NET: Aplikasi dan contohC# sebagai bahasa yang serba boleh. NET: Aplikasi dan contohApr 26, 2025 am 12:26 AM

C# digunakan secara meluas dalam aplikasi peringkat perusahaan, pembangunan permainan, aplikasi mudah alih dan pembangunan web. 1) Dalam aplikasi peringkat perusahaan, C# sering digunakan untuk ASP.Netcore untuk membangunkan WebAPI. 2) Dalam pembangunan permainan, C# digabungkan dengan enjin Perpaduan untuk merealisasikan kawalan peranan dan fungsi lain. 3) C# menyokong polimorfisme dan pengaturcaraan tak segerak untuk meningkatkan fleksibiliti kod dan prestasi aplikasi.

C# .net untuk pembangunan web, desktop, dan mudah alihC# .net untuk pembangunan web, desktop, dan mudah alihApr 25, 2025 am 12:01 AM

C# dan .NET sesuai untuk pembangunan web, desktop dan mudah alih. 1) Dalam pembangunan web, ASP.Netcore menyokong pembangunan silang platform. 2) Pembangunan desktop menggunakan WPF dan WinForms, yang sesuai untuk keperluan yang berbeza. 3) Pembangunan mudah alih menyedari aplikasi silang platform melalui Xamarin.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.