【发布时间】:2017-03-10 15:53:47
【问题描述】:
我正在尝试制作一个 Reddit 机器人,但我什至无法使用以下简单示例,也无法使用 PRAW 文档中的示例。
以下代码
import praw
r = praw.Reddit(user_agent="some useragent text")
r.login()
返回以下错误
Traceback (most recent call last):
File "savageAxeBot.py", line 3, in <module>
r = praw.Reddit(user_agent="some useragent text")
File "/Library/Python/2.7/site-packages/praw-4.0.0b21-py2.7.egg/praw/reddit.py", line 101, in __init__
raise ClientException(required_message.format(attribute))
praw.exceptions.ClientException: Required configuration setting 'client_id' missing.
This setting can be provided in a praw.ini file, as a keyword argument to the `Reddit` class constructor, or as an environment variable.
更新:我已经获得了我的客户 ID 和密码。我设法让上面的代码(如图所示)在 Fedora 24 上运行,但无法让它在 Raspbian 或 Mac OS X 上运行。
PRAW 在 python 中似乎比 Reddit API 更容易使用,所以我更愿意坚持使用它。此外,login() 似乎已被贬值,那么我该如何使用 OAuth2(或其他任何名称)?
注意:我使用 easy_install praw 安装了 PRAW,因为 pip install praw 无法正常工作。我尝试在 Mac OS X 10.12 和 Raspbian 上使用 pip,但均未成功。有什么想法吗?
【问题讨论】:
-
看起来您需要获取一个 client_id 并将其提供给库。文档可能会告诉您如何操作。如果做不到,请通读源代码。实际上,答案似乎在 Reddit 上:reddit.com/r/redditdev/comments/4bwdpx/… 您需要注册您的应用并获取 ID 和 Secret。
-
@Basic 感谢您的评论!我已经获得了 id 和 secret,但我终生无法弄清楚如何使用它们。我该怎么办?我在我的问题中提到我是一个 python 新手,除了编辑把它拿出来。提前致谢! (如果你帮助我并且你的建议有效,我会接受你的答案(如果你创建一个),我会给你一个代表奖金。)
-
你说没有文档? praw.readthedocs.io/en/praw4 也就是说,现在已经在存储库顶部链接了几个月。
-
具体来说,请阅读Getting started 页面,该页面向您展示了如何创建只读和读写 Reddit 对象。
-
@FlareCat 你不傻。对不起,如果我的评论很简洁。 README 令人困惑,因为它说“此时大部分文档尚未更新到 PRAW4”。并且它没有链接到正确版本的文档。我做了一个更改,希望能让 PRAW4 文档更显眼。
标签: python pip easy-install praw reddit