如何将Discogs API返回的resource_url转为可点击链接并替换域名?
解决Discogs Wantlist导出到Google Sheets的两个问题
1. 将resource_url转为可点击超链接
Google Sheets支持通过HYPERLINK()函数创建可点击链接,你只需在写入表格时,把原始URL替换成这个函数的公式即可。公式格式为=HYPERLINK("目标URL", "显示文本"),其中"显示文本"可以是URL本身,也可以换成专辑名称这类更友好的内容。
代码示例(Python)
假设你原本直接写入resource_url:
# 原始写法 sheet.append_row([item['resource_url']])
修改为生成超链接公式:
# 先处理URL(域名替换见下文),此处用原始URL举例 target_url = item['resource_url'] # 生成超链接公式,显示文本用URL,也可替换为item['title'] hyperlink = f'=HYPERLINK("{target_url}", "{target_url}")' sheet.append_row([hyperlink])
代码示例(Google Apps Script)
// 原始写法 sheet.appendRow([item.resource_url]); // 修改后 var targetUrl = item.resource_url; var hyperlink = `=HYPERLINK("${targetUrl}", "${targetUrl}")`; sheet.appendRow([hyperlink]);
2. 替换resource_url的域名
直接对resource_url字符串做替换操作,把http://api.discogs.com/替换成http://www.discogs.com/即可,所有编程语言都有对应的字符串替换方法。
结合超链接的完整代码示例(Python)
# 获取原始resource_url original_url = item['resource_url'] # 替换域名 formatted_url = original_url.replace("http://api.discogs.com/", "http://www.discogs.com/") # 生成带正确域名的超链接公式 hyperlink = f'=HYPERLINK("{formatted_url}", "{formatted_url}")' # 写入表格 sheet.append_row([hyperlink])
结合超链接的完整代码示例(Google Apps Script)
var originalUrl = item.resource_url; var formattedUrl = originalUrl.replace("http://api.discogs.com/", "http://www.discogs.com/"); var hyperlink = `=HYPERLINK("${formattedUrl}", "${formattedUrl}")`; sheet.appendRow([hyperlink]);
这样写入后,表格单元格会自动识别公式,显示可点击的超链接,且链接指向Discogs前端页面而非API接口。
内容的提问来源于stack exchange,提问作者Bart Van Belle
相关产品推荐
相关产品推荐

