larksuite / node-sdk

larksuite open sdk for nodejs
MIT License
136 stars 27 forks source link

设置的自定义请求头不起作用 #25

Closed tzz-v closed 1 year ago

tzz-v commented 1 year ago

版本:^1.8.1 设置的自定义请求头不起作用

import { data } from '../../../env';
import * as lark from '@larksuiteoapi/node-sdk';

const client = new lark.Client({
  appId: data.appId,
  appSecret: data.appSecret,
});

class Feishu {
  public accessToken = 't-g1041gdxODD4F2FX5VTFKDXFNG3DO24Z5MDPLBBF';
  public getChatIdByRobotId() {
    return client.im.chat.list(undefined, {
      headers: {
        Authorization: `Bearer ${this.accessToken}`,
      },
    }
    // lark.withTenantToken(`Bearer ${this.accessToken}`)
  );
  }
}
const service =  new Feishu();
service.getChatIdByRobotId();

image

mazhe-nerd commented 1 year ago

自己传token的话,需要在构造Client的参数中传递disableTokenCache: true禁用SDK获取token行为:

const client = new lark.Client({
  appId: data.appId,
  appSecret: data.appSecret,
  disableTokenCache: true
});
class Feishu {
  public accessToken = 't-g1041gdxODD4F2FX5VTFKDXFNG3DO24Z5MDPLBBF';
  public getChatIdByRobotId() {
    return client.im.chat.list({}, lark.withTenantToken(`Bearer ${this.accessToken}`));
  }
}

或者也可以使用lark.withUserAccessToken()来传递自定义token:


const client = new lark.Client({
  appId: data.appId,
  appSecret: data.appSecret
});
class Feishu {
  public accessToken = 't-g1041gdxODD4F2FX5VTFKDXFNG3DO24Z5MDPLBBF';
  public getChatIdByRobotId() {
    return client.im.chat.list({}, lark.withUserAccessToken(`Bearer ${this.accessToken}`));
  }
}