百度网盘转存C#部分思路思路

代码思路如下,大概就是通过百度网盘的API来实现

string AppKey = “ULanKN5NjWpqkd2enuOPHdKuLyOB4ewb̶1;;
string AppID = “37684426”;
string SecretKey = “G2Y64YHivEoG9AEQVV49fhsdUMbrkKud”;
string authorizeURL = @$”http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id={AppKey}&redirect_uri=oob&scope=basic,netdisk&device_id={AppID}”;
string refresh_token = “”;
string access_token = “”;
string 授权码 = “99876d0e4cb78d90ab36aa331bc596b9”;

using (HttpClient clients = new HttpClient())
{
//换取AccessToken凭证
string tokenURL = @$”https://openapi.baidu.com/oauth/2.0/token?grant_type=authorization_code&code={授权码}&client_id={AppKey}&client_secret={SecretKey}&redirect_uri=oob”;

HttpResponseMessage resultToken = clients.GetAsync(tokenURL).Result;
string responseResult = resultToken.Content.ReadAsStringAsync().Result;
clients.Dispose();
jsons = JsonConvert.DeserializeObject(responseResult);
refresh_token = jsons.refresh_token;
access_token = jsons.access_token;
}

//using (HttpClient clients = new HttpClient())
//{
// //AccessToken凭证
// string refreshURL = @$”https://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token={refresh_token}&client_id={AppKey}&client_secret={SecretKey}”;

// HttpResponseMessage result = clients.GetAsync(refreshURL).Result;
// string responseResult = result.Content.ReadAsStringAsync().Result;
// clients.Dispose();
// jsons = JsonConvert.DeserializeObject(responseResult);
// refresh_token = jsons.refresh_token;
// access_token = jsons.access_token;
//}

// 设置百度网盘的API接口地址和访问令牌(Access Token)
string api_url = @$”https://pan.baidu.com/rest/2.0/xpan/file?access_token={access_token}”;

// 设置需要保存到网盘的文件链接
string file_url = downUrl;

// 设置保存到网盘的路径
string save_path = “/知鸟知鸟下载链接/RD”;

// 创建HttpClient实例
HttpClient httpClient = new HttpClient();

// 构建请求参数
var parameters = new Dictionary<string, string>
{
{ “method”, “save” },
{ “path”, save_path },
{ “url”, file_url }
};

// 发送请求,将文件保存到网盘
HttpResponseMessage responseData = httpClient.PostAsync(api_url, new FormUrlEncodedContent(parameters)).Result;

// 解析响应结果
var result = await httpClient.PostAsync(api_url, new FormUrlEncodedContent(parameters));

// 解析响应结果
string resultData = await result.Content.ReadAsStringAsync();
if (responseData.IsSuccessStatusCode)
{
// 获取分享链接
string share_url = “”; // 结果解析分享链接的值
Console.WriteLine(“文件保存成功,并获取分享链接:” + share_url);
}
else
{
Console.WriteLine(“文件保存失败”);
}

荐: 2023开源在线教育系统.net源码

 微厦在线学习系统是款集“学、练、考”于一体的在线教育系统,为高校,集团单位,医院,军队,出版社以及各类教育培训机构供在线培训考试服务运行环境:(1)windows server 2008R2 64位企业版【或以上版本】(2)Microsoft SQL

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容