Twitch 有新的 API 和 V5 API,我想完全使用 V5 API,因为那个 API 提供了更多关于频道的信息。当我使用浏览器开发工具中的评估令牌时,API 正在工作。
但是当我使用通过 Omniauth 授权获得的asset_token 时,API 无法正常工作,并且{"error":"Gone","status":410,"message":"It's time to kick ass and serve v3... and I'm all outta v3. See https://dev.twitch.tv/docs"}经常出现类似错误。文档说 V5 API 仍在工作(尽管已弃用)。
Helix 和 Kraken API 具有不同类型的令牌(Bearer和OAuth)
如何OAuth在用户身份验证后准确获取access_token 以便能够使用 V5 API?来自浏览器开发工具的令牌与新 API 和 V5 API 一样工作,但从 Omniauth 获得的令牌仅适用于新 API。
解决了
访问令牌可用于新 API 和 V5 API。使用 V5 API 只需要在请求中添加Accept标头application/vnd.twitchtv.v5+json。
下午好。我需要以excel格式从数据库下载数据。下面,当我尝试通过 Firefox 下载文件时,我的代码及其工作正常,但是使用 chrome 这个视图返回包含一些openpyxl文件的存档。Openpyxl- 这个库我用来从excel_download()函数中的数据库填充excel表。你能帮我解决吗?
def excel_download_view(request, **kwargs):
if 'sorting_argument' in kwargs:
queryset = Lot.objects.filter(
Q(bank__slug__iexact=kwargs['sorting_argument']) |
Q(auction_date__iexact=kwargs['sorting_argument']) |
Q(which_time_auction__iexact=kwargs['sorting_argument']) |
Q(fgvfo_number__iexact=kwargs['sorting_argument']) |
Q(prozorro_number__iexact=kwargs['sorting_argument']) |
Q(decision_number__iexact=kwargs['sorting_argument'])
)
else:
queryset = Lot.objects.all()
excel_download(queryset)
data = None
with open('media/excel/lots.xlsx', 'rb') as f:
data = f.read()
return HttpResponse(data, content_type='application/vnd.ms-excel')
Run Code Online (Sandbox Code Playgroud) 我需要在没有API和代理的情况下解析instagram用户页面,并且我使用如下代码
def client(options = {})
Faraday.new('https://www.instagram.com', ssl: { verify: false }, request: { timeout: 10 }) do |conn|
conn.request :url_encoded
conn.proxy options[:proxy]
conn.adapter :net_http
end
end
response = client.get('some_username/', proxy: URI('//111.111.111.111:8080'))
response.status # 302
response['location'] # "https://www.instagram.com/accounts/login/"
Run Code Online (Sandbox Code Playgroud)
但是以前,就在几天前,上面的代码按预期工作,即返回200状态和带有用户页面的正文。此外,Faraday.get('https://www.instagram.com/some_username/')没有代理的代码可以正常工作,即返回200状态和带有用户页面的正文。我还尝试了其他客户端的相同操作,并且在没有代理的情况下取得了相同的成功,并使用它进行了重定向。
客户端需要一些其他特定的配置来使用代理,也许吗?
更新
我不确定,但这似乎是代理的问题,例如instagram以某种方式检测到已购买/免费的代理,并从多数民众赞成代理重定向请求(我已经使用了购买的代理包),因为我尝试使用我自己的代理,就可以了。