00:00
好,来看一下啊,那大家告诉我,这个呢,是获取永久素材接口,也就是说咱们在之前上传的接口,上传的素材是不是能通过这个接口来获取下来啊,好了,那大家告诉我啊,首先呢,这是我的请求地址,它是一个。求请求参数有是不是好,接下来诶这是怎么回事?调用示例,这是我要要传的参数对不对?诶要在哪里传的参数呢?请求体这个body中是不是传三啊,啊对的,好,这句话知道了,那接下来再往下走啊,麦ID是不是待会我要获取的媒体素材的ID值啊,好,接下来它的返回说明呢,有这么多啊,有图文素材,有什么视频素材,还有其他的一些素材,我们来看图文素材呢,就是我们是不是上传的图文素材那个样子,它要返原原本本返回给我,还要返回给我啊,只不过之前呢,我是articles,现在变成news item是不是这个字段不一样,其他字段呢,都是一模一样的啊,都是一模一样的,也就说你上传之后呢,你想获取到呢,你还能通过这个接口呢,重新获取下来就是图文素材,那么视频的话呢,它是不是获载获取一个这样东西啊,你上传的开头,你上传的描述,还有你下载这个视频的这个下载地址是不是这个地址好,其他类型的它长这个样子,诶这是什么样子呢。
01:35
来我们先说上面这两种,上面这两种发送请求之后,是不是直接可以拿到这个返回值啊,哎,但是下面这种他要怎么拿呢。其他类型说明是除图,图片、图文消息和视频以外的东西,像图片和语音等等,是不是图片、语音和缩略图这三个东西,那他们是怎样获取的呢?
02:03
诶,我还能用上面这两种方式获取它们可以吗?获取不到是不是,他们直接响应的是我素材的内容,说白了这个素材内容就是我那个之前上传的那个文件,是不是啊,之前我上传的是我图片,那它返回给我的就是图片,之前上传的是语音,他返回的我给我的就是那一段语音,那返回的就是我整个媒体文件,所以说我要怎么去接收呢?怎么接收?通过啥去接受啊,我的requests能不能接收到呢?可以吗?行不行?行还是不行?有同学说到不行,那有的同学也没说啊,那到底行不行呢?
03:01
我的request promise这个库,它发送的请求能不能接收到,我这个返回值能不能。啊。不能它这个返回值呢,就是一个什么数据啊。这是一个流式的数据啊,所以说我们要通过谁去接收。是不是他之前我以依代的那个叫做是不是request不能接收呢?好通过传一个ul地址是不是点。下一层管道点派方法是不是导入到一个?可写流中啊,是达到可写流中啊,需要通过request方法才能接收到啊,好,这就是它所有的返回值,也就是说这里面的请求呢,都是一样的发送的,但是返回值接收的时候呢,你需要特殊的处理是不是啊,这里时候要去填写啊,那么我们就去实现一下,这个叫做获取永久素材。
04:01
啊,这些呢,都是要去看,不断的看方法才知道怎么去写的啊,那我们这个就叫做get permanent material,那这个它需要传什么参数呢。我们呢,一般都参照前面的,我们想想前面要上传参数,我这里要不要传第一个碳要不要传。什么?好,如果要的话呢,它是在哪里去使用的。是我在发送请求的时候要使用它吗?我发送请求的时候需要使用type吗?不用是不是,哎,那在哪里使用呢?在我接受响应的时候,是不是不同的type,它接受的响应的类型不一样啊,啊其实主要分为,其实只要分为哪两种。分为三种还是两种?
05:01
诶,咱们乍一看是不是三种啊,是不是,那实际上呢,前面这两种是不是一种方式啊,它们都是返回一个这样的JA字符串,那我只要接收一下就可以了,那下面这种呢,不一样,它返回的是个流失数据,是个特殊处理啊,所以说呢,要去特殊处理了啊,所以说根据这个tap类型呢,我们要传它呢,到后面去接收它返回值不一样,它不一样,好接下来面要不要。要不要要啊,因为他们是不是都必须要传上这个mid参数啊,必须要传才有好这三个发name要不要是不要。想想啊,这个要不要呢。要不要去看我这里面有没有用上,是不是我要里面需不需要用上它。自己再看看需不需要用上。
06:01
我待会第三种方式,我是不是要把它保存为一个文件,那么你是不是要告诉我保存为什么东西,是不是我有图片啊,有有JPG,有PG,有MP3等等格式,你是不是要告诉我要保存成什么格式啊,那么这个文件名呢,要不要传,那就得传,否则的话呢,我不知道到底要保存为什么格式,我搞不清楚,你要传给我,所以说这里是不是也是三个参数啊,三个参数哈,然后一个写呗,来首先呢怎么写。是不是先包装一个再说啊,是不是我们呢,先包装一层再说好包装之后呢,我第一步我应该先获取什么呢。啊,获取一个可以获取再说啊一个,那这呢我要了是不是,所以说我这里要改装成a think函数是不是obwa this.fetchn拿到我的N,好获取到它之后呢,接下来去定义请求的地址是不是一个U。
07:10
好,这个启动地址的话呢,我到时候呢,要去放在一个地方,是不是在这个API里面写一写啊好,API里面呢,有个方法叫做get方法,是不是就写get方法啊好,就是一个前地值,它呢前缀是这个东东,是不是它也同样的前缀,那后面的东西呢,我们看一下。Material get material是不是CTRLC,然后呢,CTRLV,好这个方法,这个API是不是定义好了,定义好了之后呢,再回过头来看哈,我们就去拼多福大括号API点。permanent.get方法是不是?然后呢,再拼上我的ATKN等于多尔符大括号塔点好,咱们的请求地址有了是不是?接下来呢,我们就得去。
08:05
判断什么事了,是不是我能直接发送请求吗,现在。我可以直接在这里直接发送请求吗?我发送请求的方式是一种还是多种?有多种,是不是我的第一种呢?前面两种可以用RP库去发送,是不是?后面一种呢?我要使用request库才能发送是不是?所以在这里呢,你需要去判断它的type类型,如果它等等于。News或者。VI video调是不是,哎,这个时候呢,是不是就可以去正常发送啊,正常发送取交就是通过RP括号括大括号,这里面写method为d method为pose啊啊其实他们的options是不是都是一样的,Options都是一样的,所以说我们把它定在外面吧,Left,一个course,一个options。
09:08
Options待会儿都一样,所以说呢,把它定义定义起来啊,好,然后呢,这个options等于。嗯,诶,应该好像就这个需要option吧,下面这个是不是只需要ul就够了,还是写一个就了啊好,这个呢,Method为post,然后接下来呢。Ul还有一个为处为处,然后呢,接下来还有一个参数叫做。是不是他传的这个媒体ID啊,是不是我还写一个参数叫做包包为一个。对象,对象里头有一个参数叫做media ID,但是不是这样写啊,我们看一下是不是这样写的,有下划线的,有下划线的,那么我们这里就要写下划线的ID。好。
10:03
下关ID,哎,这里多写了一个参数,然后的话值就是我传入的这个媒体ID,是不是就是我传入的媒体ID,好,咱们这个是不是定义好了,定义好了就可以去接收它的反回值了,比如这塔等于啊位这个请求发送了过去,然后呢,最终呢,将这个反回值呢进行。出去在这个接触到的参数呢,最终返回的东西呢,给出去,好,这是我的news和video,那下面这种呢,它会怎么走呢。我是不是通过快速去发送啊,那这里呢,不仅仅是传URL,那除URL是不是还有其他要传呢?是不是,诶在这呢,它可以跟我们上面这样,其实应该也可以一样的去定义啊,因为这两个库呢,他们是类似的一个库,无非就是我上面这个,它返回就是个方项,而我下面这个不是,是不是我下面这个不是,我下面这个呢,待会要去特殊处理啊,这里面呢,看一下少一个大括号啊,这种发现他们是不是对象是一样的,一样的还是把它定义出去比较好啊。
11:12
后面还是要需要使用option,等于这个对象,等个对象呢,然后呢,里面呢,就放这个option就可个呢,是不是放这个option好,接下来怎么接呢点。PI是不是好,这里面创建一个可可写流,然后这里面是不是拼那个路径啊,好,我们可以使用装语方法啊,然后第一个参数是。是不是当前的文件夹目录啊,加一个DR name,第二参数呢,我要回退一层,然后来到我的啊media里面,然后再将我这个第三个它常的参数是不是放进来,放进来就行了,好,这时候呢,我们还要监听一下它是否成功on ones是不是你那个世界叫做。
12:02
看时间,然后呢,就可以去监听到他到底有没有成功了,这第三个参数传一个。是不是就可以了就行了啊好,这个呢,就写好了,我们的这个获取永久素材,那就是这么写了,好到这呢,我们啊,如果你想做的更好一点,那是不是包装一层啊,如果想做的更好一点的话,就可以包装一层TRY啊。这个呢,通常是如果你去真正去写这个服务器的话呢,是一定要去加的,否则的话呢,一旦出了问题,你这个服务器就会瘫痪掉,所说通常要包装,然后呢,在这个时候呢,它抛出异常的时候呢,你再去解决它的一些异常。而且甚至这里还有个什么可以做的一个事呢,来想想咱们调用dress,如果用去接收的话呢,是不是它也会终止这个当前的这个程序的运行啊,是不是他也会终止当前程序运行,是不是啊,那我不想它终止运行,我想处理这个错误,我该怎么办呢?
13:17
我不想终止这个运行,因为一旦调用这的方法,那么我的项它又会终止掉,或者说如果你外面还有函数的话呢,是不是就会终止掉啊。啊,就当然,如果你使用点DA点开方生的话,就不会终止,好,如果我还是外面使用函数,那么我想他到时候不终止我这个程序的运行,我该怎么办呢。有时候呢,我们会这样做,这是不是会终止程序运行啊,我把它改成。这时候还会终止吗?不会,只不过状态变成成功是不是,那这时候我们就根据它的返回值的类型进行判断,判断它是否是我们想要的东西,如果不是,说明它就是error就是错误的,那这时候呢,我们在抛出个异常,甚至呢,我们可以到时候在外面层逻辑呢,去RS.send的一个500的错误给用户,可以直接去发送一个500错误给用户等等,那就是如果你不想去解决这个错误的话呢,你可以直接调用错误方法去返回,那这样的话呢,能够去避免这个问题,那当然呢,咱们呢就用result啊,就这个呢是抛出个异常,我们要看到这个异常是不是是这样的啊啊这个呢,就是我们的这个获取永久素材的一些办法啊,获取永久素材方法好到这呢,咱们就把这四个方法给定义好了,是不是定好了啊,那就是。
14:46
所有的接口呢,都是要靠着文档一个个去写,那对于大家来说的话呢,无非就是难点就在于不同的方式的话呢,它可能发送请求和接收参数的方式呢不太一样,那么这些呢,大家要去知道该怎么去看这个文档,以及怎么去写相应的去发送请求或者接收数据的办法啊,这个呢就需要自己去写一写才知道了啊好,那这里呢给大家提一下。
我来说两句