热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java微信获取临时素材,微信公众平台开发【素材管理】获取临时素材

在上一讲的主要讲解了上传临时素材(传送门:《微信公众平台开发【素材管理】上传临时素材》),下面就讲讲如何获取此临时素材。此处的获取临时素材指公众号能够使

在上一讲的主要讲解了上传临时素材(传送门:《微信公众平台开发【素材管理】上传临时素材》),下面就讲讲如何获取此临时素材。此处的获取临时素材指公众号能够使用素材管理接口下载临时的多媒体文件,下面如下载图片为例。php

接口开放权限:素材管理接口对全部认证的订阅号和服务号开放json

调用格式及参数说明

http请求方式:GET,https调用(请注意,视频文件不支持https下载,调用该接口需http协议)api

请求格式:https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID浏览器

参数说明:服务器

参数是否必须说明

access_token是 调用接口凭证

media_id 是 媒体文件ID

基于SAE实现的源代码

本教程使用的是SAE服务器,因为SAE不能实现本地文件上传和下载,而须要经过Storage来实现,全部代码中会使用一些SAE官方给出的相关函数。微信

saeImage.phpapp

/**

* 做者:smalle

* 网址:http://blog.csdn.net/oldinaction

* 微信公众号:smallelife

*/

define("AppID","你的AppID");

define("AppSecret", "你的AppSecret");

$media_id = '1wrAlWQg02Wc2-z5imqt9K4wzyrugukmMQFCh0tXmixRWKCOIe3Gh9YQa7WjJpeB';//上一讲中上传临时素材后返回的media_id

$domain = 'smalle';//SAE的Storage domain名称

$filename = 'newSmallelife.jpg';//设置保存在domain中的文件名

$ch = curl_init('https://api.weixin.qq.com/cgi-bin/media/get?access_token='.get_token().'&media_id='.$media_id) ;

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; //curl_exec执行成功则返回执行结果

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; //在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。

$output = curl_exec($ch) ;

curl_close($ch);

//将数据写入Storage

$saes = new SaeStorage();//建立SaeStorage对象

$fileurl = $saes->write( $domain , $filename , $output );//将数据写入到Storage domain并返回存储在domain中此文件的url

echo $fileurl;//输出文件地址

echo "%22.%24fileurl.%22";//显示此图片

//获取access_token

function get_token(){

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppID."&secret=".AppSecret;

$data = json_decode(file_get_contents($url),true);

if($data['access_token']){

return $data['access_token'];

}else{

echo "Error";

exit();

}

}

?>

效果预览:微信公众平台

在浏览器运行以后,你会在你的SAE管理后台的Storage相应的domain中查看到此文件,由此则对应的media_id素材被下载到了本地。由下图能够看出是上一讲中上传的临时素材,不信能够扫的试试哦。dom

//获取access_token

function get_token(){

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppID."&secret=".AppSecret;

$data = json_decode(file_get_contents($url),true);

if($data['access_token']){

return $data['access_token'];

}else{

echo "Error";

exit();

}

}

//curl 获取文件数据

function curl_file($url){

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_NOBODY, 0);//只取body头

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//curl_exec执行成功后返回执行的结果;不设置的话,curl_exec执行成功则返回true

$output = curl_exec($ch);

curl_close($ch);

return $output;

}

//保存文件到本地

function saveFile($filename, $filecontent){

$local_file = fopen($filename, 'w');

if (false !== $local_file){//不恒等于(恒等于=== 就是false只能等于false,而不等于0)

if (false !== fwrite($local_file, $filecontent)) {

fclose($local_file);

}

}

}

?>

===================================

e9dfbe0aff5b45aca8fe8f22.html

e9dfbe0aff5b45aca8fe8f22.html

e9dfbe0aff5b45aca8fe8f22.html===================================

关注【Smalle】【微信公众号:smallelife】

e9dfbe0aff5b45aca8fe8f22.html             捐赠【Smalle】【微信公众号:smallelife】

关注就有豪礼相送哦,

e9dfbe0aff5b45aca8fe8f22.html源码、

e9dfbe0aff5b45aca8fe8f22.html工具、

e9dfbe0aff5b45aca8fe8f22.html文档应有尽有      

e9dfbe0aff5b45aca8fe8f22.html       你的扫码即是我前进的动力,

e9dfbe0aff5b45aca8fe8f22.html扫码、

e9dfbe0aff5b45aca8fe8f22.html扫码、

e9dfbe0aff5b45aca8fe8f22.html扫码

===================================

e9dfbe0aff5b45aca8fe8f22.html

e9dfbe0aff5b45aca8fe8f22.html

e9dfbe0aff5b45aca8fe8f22.html===================================

e9dfbe0aff5b45aca8fe8f22.html                                     

e9dfbe0aff5b45aca8fe8f22.html



推荐阅读
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • 2023年最新指南:如何在PHP中屏蔽警告和错误
    本文详细介绍了如何在PHP中屏蔽警告和错误,包括多种方法和最佳实践,帮助开发者提升代码质量和安全性。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • HTML 页面中调用 JavaScript 函数生成随机数值并自动展示
    在HTML页面中,通过调用JavaScript函数生成随机数值,并将其自动展示在页面上。具体实现包括构建HTML页面结构,定义JavaScript函数以生成随机数,以及在页面加载时自动调用该函数并将结果呈现给用户。 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 解决MySQL 5.1服务器无法正确识别中文字符的问题
    在使用MySQL 5.1服务器时,可能会遇到无法正确识别中文字符的问题。由于相关资料较少且不够全面,本文将详细阐述解决方案。首先,需要检查MySQL的配置文件,确保字符集设置正确,并通过命令行工具验证当前的字符编码配置。此外,建议更新到最新版本以避免此类问题。 ... [详细]
author-avatar
零开始1023_511
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有