433*_*MEA 5 python python-3.x google-drive-api
我正在尝试编写代码来获取公共 Google Drive 文件夹中图像的直接 url 并将其嵌入。直到几分钟前,一切都正常工作并使用 uc?技巧给出了原始图像,以便我可以嵌入它。但是现在它正在发送下载,即使我使用 &export=view 也是如此。
这是我的代码:
key = "supersecretgooglecloudconsolekey"
import re
import requests
def get_raw_image_links(folder_link):
# Extract folder id
folder_id = re.findall(r"/folders/([^\s/]+)", folder_link)[0]
# Google cloud console request to get links
api_url = f"https://www.googleapis.com/drive/v3/files?q='{folder_id}'+in+parents+and+mimeType+contains+'image/'&key={key}"
response = requests.get(api_url).json()
raw_image_links = []
# Iterate over the files and retrieve raw image links
for file in response['files']:
raw_link = f"https://drive.google.com/uc?id={file['id']}"
print(raw_link)
raw_image_links.append(f'<a href="{raw_link}"> <img src="{raw_link}" /> </a>')
return ''.join(raw_image_links)
folder_link = "https://drive.google.com/drive/u/0/folders/**********"
image_links = get_raw_image_links(folder_link)
Run Code Online (Sandbox Code Playgroud)
例如,这有效:https://drive.google.com/uc?id =15bwLlBuPc4O8LXwxjsBJe_ctyPl8Tll2
但这不会出于某种原因而是发送下载:https://drive.google.com/uc?id =1Gz4YrH2tefSVxKRvv6gnqnY3tk0Obm0T
我该如何解决?另外,如果有人知道如何从图像本身的查看页面中抓取原始图像链接,这将会很有帮助https://drive.google.com/file/d/15bwLlBuPc4O8LXwxjsBJe_ctyPl8Tll2/view
谢谢你!
根据您的情况,更改端点怎么样?当您的显示脚本修改时,请进行raw_link如下修改。
raw_link = f"https://drive.google.com/uc?id={file['id']}"
Run Code Online (Sandbox Code Playgroud)
raw_link = f"https://drive.google.com/thumbnail?id={file['id']}&sz=w1000" # Please modify w1000 to your actual situation.
Run Code Online (Sandbox Code Playgroud)
folder_link = "https://drive.google.com/drive/u/0/folders/**********"可能会公开共享。既然如此,我想上面的修改也许可以用。| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |