You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展开发:获取浏览器已登录账户及对应authuser值

获取Google Meet的authuser值并列出已登录账户

我来帮你搞定这个Chrome扩展开发的问题,下面分两部分详细说明实现思路和代码:

一、列出浏览器中所有已登录的Google账户及其对应的authuser值

要获取已登录的Google账户列表,Chrome官方提供的chrome.identity API是最可靠的方案。这里需要注意:authuser的索引(即URL中的X值)通常对应账户的登录顺序——0是默认账户,1是第二个登录的账户,以此类推。不过如果用户在Chrome设置里调整过账户排序,这个索引可能会跟着变化。

实现步骤:

  1. 先在扩展的manifest.json中添加必要权限:
{
  "manifest_version": 3,
  "name": "Meet账户跳转工具",
  "permissions": ["identity"],
  "host_permissions": ["https://meet.google.com/*"]
}
  1. 用chrome.identity.getAccounts()获取账户列表并匹配authuser值:
async function getAllGoogleAccounts() {
  try {
    const accounts = await chrome.identity.getAccounts();
    // 按账户列表顺序映射authuser索引(从0开始)
    const accountsWithAuthUser = accounts.map((account, index) => ({
      email: account.email,
      authuser: index.toString()
    }));
    return accountsWithAuthUser;
  } catch (error) {
    console.error("获取账户失败:", error);
    return [];
  }
}

// 调用示例:打印所有账户信息
getAllGoogleAccounts().then(accounts => {
  console.log("已登录账户及对应authuser值:", accounts);
  // 这里可以把列表渲染到扩展弹窗让用户选择
});

提示:首次运行扩展时,浏览器会弹出权限请求,需要用户同意扩展访问账户信息,chrome.identity.getAccounts()才会返回有效数据。

如果需要更精准的authuser对应关系(比如用户手动调整过账户顺序),可以通过注入脚本访问Meet页面的用户信息,或者读取相关Cookie,但这种方法相对复杂。另一种可选方案是:对每个账户临时打开一个Meet页面,提取跳转后的URL中的authuser参数,不过需要处理跨标签页的通信逻辑。

二、获取特定邮箱对应的authuser值并跳转至Meet

基于上面的账户列表,你可以筛选出目标邮箱对应的authuser值,然后构造Meet的URL完成跳转:

async function redirectToMeetWithSpecificAccount(targetEmail) {
  const accounts = await getAllGoogleAccounts();
  const targetAccount = accounts.find(account => account.email === targetEmail);
  
  if (targetAccount) {
    const meetUrl = `https://meet.google.com/?authuser=${targetAccount.authuser}`;
    // 新建标签页打开Meet
    chrome.tabs.create({ url: meetUrl });
    // 如果要替换当前标签页,用:chrome.tabs.update({ url: meetUrl });
  } else {
    console.error("未找到目标账户:", targetEmail);
    // 这里可以给用户弹出提示,引导登录目标账户
  }
}

// 调用示例:跳转到指定邮箱对应的Meet页面
redirectToMeetWithSpecificAccount("your-target-email@gmail.com");

额外注意事项:

  • 如果你的扩展需要在后台自动执行逻辑,记得在manifest.json中声明background服务worker(针对Manifest V3)。
  • 如果用户未登录目标账户,你可以调用chrome.identity.launchWebAuthFlow引导用户完成登录流程。

内容的提问来源于stack exchange,提问作者Aayush Singla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 19:22:42