00:00
我们来看啊,接下来呢,我们将临时的跟临时的获取和新增的办法是不是写完了,那么现在呢,我们就去写这个永久的啊,这个永久的新增的话呢,它会稍微麻烦一些,稍微麻烦一些啊来看一下它这里面有哪些要求,第一个呢,在这里说了一下,在你这个图文素材这里面的啊,这个ul是不是上传的,只可以在这个腾讯域名内,是不是可以去用啊,如果在腾讯系外域名呢,它就会这样屏蔽是不是啊,这里做了个什么处理呢?这个图片的地址他做的啊。防盗链是不是防止别人去偷取我的图片的地址,是不是使用的图片防盗链啊,那在这里呢,他告诉你的啊,这里面的图文素材的类型,以及各种素材呢,它是有数量限制的,对不对,有数量限制的,大家注意,然后呢,支持的类型有图片。把语音视频还有这个缩略图都有是不是,然后这里又加了一个限制,就是播放长度呢,不能超过某个格式,然后类型呢,稍微多一点点,是不是类型稍微多一点点啊这个永久素材,然后呢,那这里面就介绍一些相应的内容,我们就不应该看了啊,我们会发现呢,它这里面有三个接口,一个是新增永久图文素材。
01:24
诶,咱们之前新增素材的时候,有图文素材吗?没有吧,只有前面这四种,是不是现在又多了一种叫做图文素材,然后呢,除了图文素材之外呢,它还有上传图文消息内的图片获取这个ul啊,因为呢,你想要去。使用这张图片的话呢,呃,因为我们在图文消息中可能会大量使用图片,然后这时候呢,你可以是在这里上传这个图片呢,获取这个连接地址,从而呢,填写到你这个图文消息里面,那个是不是有个PUL啊,可以填写在这里面,甚至呢,可以填写到它里面的内容中,也可以填写啊在这里上传获取这个ul,这是第二个接口,然后呢,第三个接口呢,是新增其他类型的,也就是说呢,上面这两个呢,它都是为。
02:12
图文消息服务的是不是啊,一个是图文消息素材,一个是我的图文消息素材里面的ul是不是图片ul,那最后一个呢,就是除了图文消息以外的其他类型,是不是通过这种方式调用啊,通过这种方式调用好,那我们的这三个接口呢,装成一个方法去使用。分成成一个方法,那么我们待会就得去判断一些东西了啊,然后再看一下他们有什么不同,首先呢,我在这个新增图文素材的时候,它呢写带参数呢有啊N是不是啊N,然后呢,这里说玷湿地这什么意思呢?这个东西是什么?是请求参数还是返回值?它放在这里,要么是参数,要么是返回值,它是哪一种?
03:04
它是请求参数对不对?为什么说它是请求参数呢?因为它这里有一个叫做调用示例,当你调用的时候,是不是要传递这些参数啊,要传递的参数,它这里呢,还会告诉你,如果是返回值的话呢,它会特殊注明叫做返回说明是不是,所以说上面这个是请求参数,诶那这个请求参数放在哪里。是查询字符串中吗?不是,是哪里。请求体中对不对啊,对的啊,请求体中就是放在请求体中啊,这是这些参数,那这个东西呢,待会需要传一个这样的对象啊,然后对象里面呢,有个articles articles里面放个数组,诶数组里面的长一条条对象,每一个对象呢,就是你图文消息中的一条图文消息是不是一条啊,待会呢,再研究这些字段的什么意思啊,然后往下走,这里呢,是不是上传图文消息里面的图片获取ul啊,说白了这里就是上传图片,然后这个图片上传呢,它就通过。
04:13
Form表单的方式上传是不是,哎,说明他要到时候传递的时候要携带一个什么参数啊。我求参数里面,我我那个option就是我待我是不是通过RP发送,我对象里面要传一个啥参数进来。啊,就是我们刚才看到的这个form。贝塔是不是查一个这样东东啊,待会再来看,然后呢,上面这个访问就是个midd是不是,哎下面这个访问就是一个URL,是不是这UR呢,待会就可以用,然后呢,下面这些呢,是新增其他类型的,是不是好新增其他类型它是怎么调用呢?它呢也是发送一个POS请求地址呢,也不一样,是不是,而且这个地址呢,它要求加上一用啊。
05:05
啊,粉在上面的,它也只有。啊N是不是,那么下面这种是不是多一个参数啊,多一个参数,然后另外呢,它这里呢,也是form表单的,说明你这个媒体文件是不是也要通过form表达方式上传,也得通过这种方式上传啊好,另外呢,他这里还给你一个特别注意,如果是视频素材的话呢,还得提交另外一个表单,是不是还得提交另外一个表单,诶他说一个这样的格式,这个东西是怎么回事呢?啊,这个东西跟着大家说一下啊,这里说明的是在请求体中再添加这个参数,比如说它除了在form它添加一个form参数以外呢,如果是视频,他还得添加一个叫做。Body的参数是不是body参数的值是不是就是这个值啊,就是这个值啊,也就是说它需要传递的东西比较多啊,所以这些东西我们都得处理好,然后最后呢,他们的返回值呢,就是个媒体ID,那如果是视频的话呢,会多一个ul,是不是多个连接地址,好,这就是整体的这些相应的内容,那么我们呢,就定一个方法去把它给全部实现了。
06:19
在实现之前呢,我们先把这些接口给它定义一下,咱们这个是不是新增图文素材啊,把这接口挪过去,咱们前面公共部分就不挪了,咱们就复制后面这块部分啊,Material and news,咱们来看一下,哎,这个问号呢也拿过去。找到我们的文件,找到我们的API,然后呢,这时候呢,我们新增是永久素材,是不是给他一个名字叫permanent。Permanent。嗯,诶,Men这里是应该是man men应该是个这样的单词啊好,然后呢,在这里面是不是要写相应的内容啊,呃,我们要放置的我们的一些参数,首先呢,是上传的办法。
07:10
啊,这里有三个方法,一个是ADD news是不是我们做ADD。加图文是这样串多符,然后呢,再加上我刚的and是是添加我的图文消息,然后除了添加图文消息呢,还有下面这些东西啊,还有。上传图文消息中的图片是不是,哎,这呢叫做I'm not image啊,那我们就用这个。CTRLC,然后呢,也来一个。嗯,这个呢,叫做lo。好,这里面来写多福大。然后呢,再看加刚复制的东西,复制过来是不是这个好,这个也有了,最后一个呢,是再看啊,最后一个还有地址,其他消息的类型的是不是material at material啊好,这里呢,我们叫做lo,其他类型的好,然后呢,也是一个同样的前缀。
08:14
然后呢,再加上我值啊,那我下面这个也叫做lo啊,同步一下都叫做方法lo newslo图片其他的一些类型,好这个定义好了之后呢,我们接着去定义我们的方法,在下面呢,我们接着写啊,我们呢,这个临时素材呢也搞定了,接下来呢,我们要实现上传。永久素材的。好,这时候呢,我们一个方法。Upload prominent。这里有这个提示,是不是pro,这个pro大写好,拿它之后呢。我们接下来去写啊好,待会儿呢,我们就去上传永久素材了,是不是这里面呢,我们就考虑一下我们要定义哪些参数呢。
09:07
对应哪些参数?咱们定制参数呢,其实可以参照一下临时素材的。首先这个类型我这里要不要。要为什么呢?我要根据这个类型判断出来什么。是根据类型判断出来,到底首先我是做哪些事情啊,我是上传图文消息还是上传图片,还是上传其他类型的,是不是我的这这类型判断出来,其中呢,还有个video是不是还有特殊的处理呀,还有个特殊的处理的好类型要发name要不要。要不要,要在哪里使用。为了回来我呢,上传其他类型的时候,我是不是要告诉我上传的素材的名字是哪一个啊,我只有找到这个名字,我是不是才知道他在到底位于哪,我才能成功上传,是不是,所以说这个也找到,然后另外呢,除了这个啊,那我们的这个。
10:11
这个呢,他暂时需要吗。他呢,是不是也要找到那个图片啊,也要找图片,所以说这里下面这两个是不是都要其中呢,上面这两个呢,上面这个呢,它不需要文件名字,它需要传的是当前的这个参数,是不是你这个图文消息到底是什么东西,你要给我传给我来,哎,所以说呢,咱们呢,正参数就做两件事。要么上传图文素材的时候是传这个值啊,要么上传其他类型的时候,是不是作为我那个文件的名称啊件,那我就不叫方案内,比如说我叫做么T。这叫做材料啊,你要告诉我要一些上传的东西,到底要吃什么东西啊?哎呀,好,然后接下来呢,我还有没有其他参数需要传的。
11:02
这两个参数。是不是能够把我基本上大部分功能都给实现了,大部分功能给实现了,但是呢,我们还有一个非常特殊的东西是哪一个呢。极其特殊的东西就是我们的。摸一视频是不是我视频呢,既要我这个文件名,是不是还得POS另外一个表单啊,是不是还这个东东,所以这个东西我是不是也要加进去啊,也得加进去,所以说而且这个东西是不是只有video视频的时候需要啊,只有特殊的东西需要的话呢,这些参数的通常意味着是不是特别重要的,或者说这个参数是可选值,是不是前面两个是必传的,而这个是不是可选值啊,那么可选值的话呢,通常都是放在靠后的一点,都才放在我们要传的参数的后面一些,它呢可以不传,可以不传啊啊当参数定义好了之后呢,接下来我们去写方法。同样的,我们写基本套路是不是?
12:04
好了,那在这里面呢,我们该怎么去处理。来我们呢,首先是不是要请求地址啊,但在请求地址之前呢,我得获取一个东西叫做。是因为我所有的请是不是。带上这个参数,那我在获取之前这个数改成S。好,然后呢,去拿到它一个等于一个CH,好拿到它了之后呢,我是不要去定义我的请求地址啊好,我要去定义请求地址,那这里就麻烦了。我的地址呢,不太好去定义,但呢可能啊不一样,是不是这里可能会有三个地址啊,三个地址不一样,那我就不太好定义了,我就不能够一把立马就判断出来,我要判断出来的话,那我就得写一个。
13:06
If else,判断是不是啊,如果来我们这一个题啊,按从上到下的顺序,通过这type就判断出来,如果它的类型是。News说明它是。上传的是图文消息,是不是上传图文消息,那在这里是不是可以把那个地址给处理一下,给处理一下,好在处理它的时候呢,我们会发现有时候呢,要添加数据不一样,因为最终呢,我是不是要发送请求啊,通过IP发送请求,这里是不是要传一个options,诶咱们呢,把这个office在上面呢给一下。因为呢,我们到时候发送的三次,三个不同的方式,它这个option对应的都不一样,所以说呢,我们在上面去定义一下啊,就是请求的配置对象。在上面去定义,那到后面是不是直接使用就可以了,直接使用,那这里面呢,有一些可以提前确定好的一些东西,有哪些可以提前确定好呢?
14:08
我们这里面有三个参数,第一个是method能不能确定啊。能不能确定好是不是,就看他们方式有没有差异,看下第一个最后一个是不是第一呢。它也是po有没有区,有没有差异,没有,所以说这个可以确定吗?是可以写死来POS好还有一个UI我能写死吗。不能因为下面可能会发生变化,是不是还一个,诶这个是不是可加上这两个东西,是不是我能够提前确定好的,提前确定好的好在这里面是不是再去,我再给这个是不是手动的添加这个地址啊,手动添加就行了,添加的话呢,打括号。API。然后它的上面的那个uplo news方法是不是它需要携带参数,就是是不是等于佛打括号贝塔点。
15:14
就是这样去定义的,好,除了这个ul要添加它,这里还要添加什么呢?想想它这里是不是要添加一个表单啊,添加一个这样是不是,所以说我们是不是要加上去,它应该加上option的点什么呢。啊,它是请求体的数据是啊好等应该为谁。是不是我们定的是这个material啊,是不是最终我这个material要么为我那个文件名称,要么是我图文消息要传的数据,是不是就是它等于它就可以了,到时候呢,你用户的时候自己写的时候,是不是给我传好啊就传好就行了,好咱们图文消息是不是就设置两个,接下来还有S。
16:02
那我们是片本种缩一种是,那这个是不是跟他们都不一样啊。个给义P是图文上传图文消息中的图片啊好,这里面呢,它的请求地址也不一样,也不一样,它呢只有一个地方要改,把这个up news改成up的。你们俩是不是就没了好,然后除了这个以外,它是不是还还要加个参数啊。来看它是不是要加个参数。它的调用示例呢,要求它是以放表达的方式上传,那么我们也是对应的放表达给他手动添加一个。等于一个对象,对象里面有个。
17:01
没点属性,它的值应该是一个筷子。是不是这里面是传那个文件的路径啊,好,所以说在外面呢,我是不是要把这个文件径给处理好,好这里面呢,如果去直接调用so方法的话呢,应该会出一些小小的问题,是不是。呃,这里面怎么办呢?啊,到这里我们是不是没办法去直接调用做方法,呃,那么我们这里处理好的话呢。那么只能在外面去整了啊,除了方法呢,可以还可给大家介绍一个方法,叫做。作语方法跟so方法一样,他们呢都能够处理好路径的问题,无非就是so方法一定会返回一个决择路径,而作语方法不一样,他呢就是讲你传入的这个路径呢,想办法拼接起来,返回给你一个你拼接好的这个路径,它呢就不一定是绝对路径了,是不是这是作用方法,诶,咱们呢可以使用一下作用方法啊。
18:05
呃,放在最下面,这方法呢,就这样使用,它呢,跟我们之前用法是一样的,第name,然后呢,再点点看回退一层来到我的媒体这里,然后呢,再给它加上它最后的这个。怎么切入是不是到时候如果是名字是不是传入这个值啊,就会传出这个值啊,它呢跟我们算法法一样,会把这个路径问题处理好啊,只不过呢,它并不一定会返回一个决对路径,如果你想要它返回一个决对路径的话呢,你就得把这个决对路径是不是自行写好啊,自己写好,咱们现在是不是因为有这个尴尬D内幕,所以说一定是个绝对路径,是不是啊,因为有它,所以说是绝对路径,所以说我们可以用join方法,也可以做这个事啊,也可以做这个事。啊,那做完这个之后呢,我这个第二部分是不是处理好了,处理好了接下来是不是最后一部分。
19:01
其他媒体类型是不是其他媒体素材的上传?好在这里面呢,其他媒体素材上传,我是不是要去定一个地址啊,他们的地址呢,叫做lo。Others是不是好,他们除了以外呢,还有。第二个参数是不是这个第二参数叫做。态度啊,大家忘了,第二参数来看。是不是要求你传入个type,是不是,那其他的就不需要传,只要他要传要加成type type就是你到时候传入进来的这个。Type是不是好,这是第一个地址定义好吧,接下来是不是要发送请求也要定义这个。Form是不是也是通过这个form表单的方式上传?所以说跟他是不是。一样的一样的好,这里面有特的就是视频素材需要。
20:04
多提交一个表单,是不是它多提交的表单,所以说这里面呢,我们还要去额外判断,如果这个type等等于v Du的话呢,我们呢给它,诶这个VR Du应该是一个字符串啊,我们呢是不是应该给options点。求体内是不是添加一个数据啊,这个数据呢,就是到时候呢,你给我传入进来的,这个是不是你给我入进来的插进来好,那么这呢,是不是这三种类型的都西处理好了,所有的选项是不是都加入到options里面了,那接下来是不是只需要去。发送请求就OK了,发送请就可以了,发送请求的话呢,你可以通过Co一个,比如说这个result。等一个位子,然后呢,最终呢,将这个返回值呢,给返回出去,是不是将返回值返回出去啊返回。
21:06
响应出去返回,将返回值返回出去。啊,就做了这样的事,如果你想处理好错误的话呢,你就再包一装一层。TRY是处理啊,如果你想处理好的话呢,就是把所有的CTRL是不是再包装一层TRY去处理啊,这个呢,大家呢今后也要会啊,这个cash呢,除了在我们服务器端可以使用的话呢,在前端也能使用的,一模一样的用法啊,他们都可以使用的,所以说如果出了错,是不是在这里报这个日志错啊啊你可以直接写,比方说是这个上传有角素材方法。方法出了问题。然后呢,就会加上这个最终的问题的具体原因啊,这样呢就解决了。好,这个呢,就是我们上传有角素材的方法啊,是写真的方法呢,本身难度是不会很大的,无非是你在写的过程中要细心,要去一步步的去实现,要去更加细心一点去做这个事,无非是这样啊,所有的接口也没什么难度,只要你能看清楚文档,一一个字一个字看清楚,那么你也能写出来。
22:20
那这个过程呢,就是需要你大家细心一点,然后呢,设计的时候呢,要把它设计更好一点,那就会少写很多代码了,少写很多代码了啊好,那咱们的一个方法呢,是不是就能做这三件擅长素材的事啊,就做这件事了啊咱们呢听一下。
我来说两句