xob0t/google_photos_web_client
GitHub: xob0t/google_photos_web_client
基于逆向工程的 Google Photos Web API Python 客户端,通过浏览器 cookies 模拟 Web 会话以编程方式访问和管理 Google 相册数据。
Stars: 28 | Forks: 8
# google_photos_web_client
## 示例
```
from gpwc import Client, payloads
cookies_txt = "cookies.txt"
lib_page_taken = payloads.GetLibraryPageByTakenDate()
storage_quota = payloads.GetStorageQuota()
# 单个 payload
client = Client(cookies_txt)
response = lib_page_taken.execute(client)
for item in response.data.items:
print(item.media_key)
# 或一次性多个 payload
with Client(cookies_txt) as client:
response = client.send_api_request([lib_page_taken, storage_quota])
for item in response:
print(item)
```
## 多个账号
如果浏览器会话登录了多个 Google 账号(通过 Google 的账号切换器添加),导出的 cookies 将包含所有这些账号。请使用 `account_index` 来选择账号,即 `photos.google.com/u/N/` 中的 `N`:
```
client = Client(cookies_txt, account_index=1)
```
如果 cookies 中不存在指定的 `account_index`,将会引发 `ValueError`。
## 提取 cookies 的正确方法
1. 安装 [Get cookies.txt LOCALLY](https://chromewebstore.google.com/detail/Get%20cookies.txt%20LOCALLY/cclelndahbckbenkjhflpdbgdldlbecc)
2. 允许 `Get cookies.txt LOCALLY` 在隐私/无痕窗口中运行
3. 打开一个新的隐私浏览/无痕窗口并登录 Google
4. 打开一个新的 [Google 相册](https://photos.google.com/) 标签页,导航到你的媒体库页面
5. 打开一个新的空白标签页
6. 关闭 Google 相册标签页
7. 使用 `Get cookies.txt LOCALLY` 中的“Export All Cookies”按钮从浏览器导出所有 cookies
8. 关闭隐私浏览/无痕窗口,确保该会话不会再次在浏览器中打开
### 我的其他 Google 相册项目
* 支持无限量上传的 Python 客户端:(https://github.com/xob0t/gphotos_mobile_client)
* 将任意文件伪装成媒体文件以便 GP 接收并存储:(https://github.com/xob0t/gp-file-hide)
* 通过批量操作管理媒体库:(https://github.com/xob0t/Google-Photos-Toolkit)
标签:API 客户端, Google Photos, Python, Web API, 云资产清单, 无后门, 网络调试, 自动化, 逆向工具, 逆向工程