python - searchtweets API 中的关键错误
问题描述
我是searchtweets
API 新手,在执行代码时遇到关键错误,如下所示。
我的代码:
from searchtweets import collect_results,ResultStream, gen_rule_payload,
load_credentials
premium_search_args = load_credentials("E:\\residency_5\\practicum\\twitter_keys.yaml",yaml_key="search_tweets_premium",env_overwrite=False)
我的 Yaml 文件:
search_tweets_api:
account_type: premium
endpoint: https://api.twitter.com/1.1/tweets/search/30day/dev.json
consumer_key: wgjwneglwegkweglkew
consumer_secret: rglknrgkrwrerherhrehreh
我得到的错误是:
KeyError Traceback (most recent call last)
<ipython-input-18-a65d7e772e67> in <module>()
----> 1 premium_search_args = load_credentials("E:\\residency_5\\practicum\\twitter_keys.yaml",yaml_key="search_tweets_premium",env_overwrite=False)
C:\Users\Srivatsav\Anaconda3\lib\site-packages\searchtweets\credentials.py in load_credentials(filename, account_type, yaml_key, env_overwrite)
184 if env_overwrite
185 else merge_dicts(env_vars, yaml_vars))
--> 186 parsed_vars = _parse_credentials(merged_vars, account_type=account_type)
187 return parsed_vars
188
C:\Users\Srivatsav\Anaconda3\lib\site-packages\searchtweets\credentials.py in _parse_credentials(search_creds, account_type)
80 """
81 logger.error(msg)
---> 82 raise KeyError
83
84 try:
KeyError:
我怎样才能解决这个问题。我的 yaml 文件有问题吗?提前致谢
解决方案
你有 a 的原因KeyError
是你想在yaml
文件中找到的键不存在与你在 python 代码中提到的同名。您正在请求yaml_key="search_tweets_premium"
这意味着yaml
文件具有名称的密钥,search_tweets_premium
但在文件中找不到此密钥yaml
。
您yaml
文件中的密钥search_tweets_api
不是search_tweets_premium
. 更正yaml
文件中的密钥或 python 代码,使它们都相同,并且您的代码应该可以正常工作。
推荐阅读
- firebase - 在 Flutter 中使用 admob 和 image_picker 包的问题
- php - 根据产品类别替换 WooCommerce 占位符图像
- java - 如何在 Android 中从 Intent 中获取数据
- asp.net-core - Blazor RoleClaims 策略不适用于 Api 端点
- mysql - 即使我可以从 mariadb-client 访问,也无法从 go-sql-driver 访问 MariaDB
- typescript - 尝试 ssh 到 pulumi 创建的 azure nextgen vm 时出现无效格式错误
- python - Django:如果可用,包括带有构造名称的模板
- java - 如何在android中使用javamail api起草邮件?
- elixir - 凤凰APP启动后在哪里做任务?
- kdb - 使用 count 1 获取表行数