PawanOsman / GoogleBard

GoogleBard - A reverse engineered API for Google Bard chatbot for NodeJS
https://bard.google.com
MIT License
415 stars 57 forks source link

Request fails without the __Secure-1PSIDTS cookie #29

Open nerblock opened 1 year ago

nerblock commented 1 year ago

The value of Secure-1PSIDTS (or Secure-2PSIDTS, __Secure-3PSIDTS, etc, depending on the user number) must be included in the cookie. This is what the cookies variable should look like in order to make a successful request:

let cookies = `__Secure-1PSID=<COOKIE_VALUE>; __Secure-1PSIDTS=<COOKIE_VALUE>`;

When it is not included (as described in the current readme) the request fails with this error:

Error parsing response: make sure you are using the correct cookie, copy the value of "__Secure-1PSID" cookie and set it like this:

new Bard("__Secure-1PSID=<COOKIE_VALUE>")

Also using a US proxy is recommended.

If this error persists, please open an issue on github.
https://github.com/PawanOsman/GoogleBard
file:///C:/Users/user/Source/bard-test/node_modules/googlebard/dist/classes/bard.js:174
        return resData[3];
                      ^

TypeError: Cannot read properties of undefined (reading '3')
    at Bard.ask (file:///C:/Users/user/Source/bard-test/node_modules/googlebard/dist/classes/bard.js:174:23)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async file:///C:/Users/user/Source/bard-test/index.js:8:16
piccolo20 commented 1 year ago

I did include those cookies and it worked then after 20 minutes the request fails again. What do you think?

piccolo20 commented 1 year ago

Those cookies always change per 10mins

nerblock commented 1 year ago

I guess they added this requirement to make programatically calliing the api more difficult.

piccolo20 commented 1 year ago

Oh sorry about that. My fault keep refreshing my browser page and it generates new value. The code works well now.

hugoroussel commented 1 year ago

@nerblock thanks for creating this issue, by adding __Secure-1PSIDTS= I was able to make it work. However, I did not try to use Secure-2PSIDTS or Secure-3PSIDTS. Any way to generate those cookies programmatically?

nerblock commented 1 year ago

You can use browser_cookie3. Also check out this issue: https://github.com/dsdanielpark/Bard-API/issues/99

piccolo20 commented 1 year ago

@nerblock thanks for creating this issue, by adding __Secure-1PSIDTS= I was able to make it work. However, I did not try to use Secure-2PSIDTS or Secure-3PSIDTS. Any way to generate those cookies programmatically?

You can get them if you get the success response. The response has Set-Cookie:

sturmenta commented 11 months ago

@nerblock Did you find a way to get the __Secure-1PSIDTS cookie programmatically?