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

如何在React Native项目中实现Bard?求具体集成方案

在React Native中使用Bard API的实现方法

1. 获取Bard访问凭证

你需要从谷歌Bard网页端获取三个关键Cookie值:

  • __Secure-1PSID
  • __Secure-1PSIDTS
  • at
    获取方式:打开Bard网页,按F12打开开发者工具,切换到Application标签→Cookies→https://bard.google.com,找到并复制这三个值。注意凭证属于个人隐私,切勿泄露。

2. 安装网络请求依赖

React Native中可以用axios发起HTTP请求,执行以下命令安装:

npm install axios
# 或
yarn add axios

3. 封装Bard API调用函数

以下是完整的调用示例,包含请求头、请求体构造和响应解析逻辑:

import axios from 'axios';

// Bard的API请求端点
const BARD_API_URL = 'https://bard.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate';

// 替换为你自己的Cookie凭证
const BARD_COOKIES = {
  '__Secure-1PSID': '你的__Secure-1PSID值',
  '__Secure-1PSIDTS': '你的__Secure-1PSIDTS值',
  'at': '你的at值'
};

/**
 * 调用Bard API发送提示词
 * @param {string} prompt 要发送的提问内容
 * @returns {Promise<string>} Bard的响应内容
 */
const fetchBardResponse = async (prompt) => {
  try {
    // 构造请求头
    const requestHeaders = {
      'Cookie': `__Secure-1PSID=${BARD_COOKIES['__Secure-1PSID']}; __Secure-1PSIDTS=${BARD_COOKIES['__Secure-1PSIDTS']}; at=${BARD_COOKIES['at']}`,
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
      'Referer': 'https://bard.google.com/',
      'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
    };

    // 构造请求体,格式需与Bard前端请求保持一致
    const formData = new URLSearchParams();
    formData.append('f.req', JSON.stringify([null, `[[${JSON.stringify(prompt)}],null,""]`]));

    // 发送POST请求
    const response = await axios.post(BARD_API_URL, formData, { headers: requestHeaders });

    // 解析响应(Bard返回的是特殊格式的文本,需拆分后解析JSON)
    const rawResponseChunk = response.data.split('\n')[3];
    const parsedResult = JSON.parse(rawResponseChunk)[0][2];
    
    if (!parsedResult) return '未获取到有效响应';
    
    // 提取最终回答内容
    const answerContent = JSON.parse(parsedResult)[0][0];
    return answerContent;
  } catch (error) {
    console.error('Bard API调用失败:', error);
    return '请求失败,请检查凭证有效性或网络连接';
  }
};

// 使用示例
// fetchBardResponse('React Native如何实现图片懒加载?').then(res => console.log(res));

注意事项

  • 凭证有效期:__Secure-1PSIDTS会定期过期,需要重新从网页端获取更新
  • 参数兼容性:谷歌可能随时调整Bard的API请求格式,若调用失败需检查请求体、请求头是否与当前网页端请求一致
  • 安全与合规:谷歌未公开Bard的官方API,此实现基于逆向工程,生产环境使用需谨慎评估合规风险
  • 凭证管理:切勿将凭证硬编码到代码中,建议使用react-native-dotenv等工具通过环境变量管理,安装命令:
npm install react-native-dotenv --save-dev

内容的提问来源于stack exchange,提问作者Vinay S Upadhyay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:43:24