Sea*_*red 10 emacs elisp oauth-2.0 stackexchange-api
正在取得进展迅速上StackMode,Emacs的客户端StackExchange,现在我们需要的是能够使认证的请求,为继续测试API.(300请求限制开始限制我一天可以做多少测试.)
免责声明:我知道很知之甚少Web开发; 这是我正在专业领域的一个领域.如果我滥用任何条款,请随时在评论中纠正我,请原谅.谢谢!
StackExchange API使用OAuth 2.0身份验证.由于这是具有客户端授权的本地客户端应用程序.我有StackExchange提供给我的以下信息:
以下额外信息:
为了保持常规和显式的任何答案,您可以使用my-client-id(等)值.实际值 - 我认为我可以分享的那些,可以在GitHub上找到.
半天我一直在研究这个问题,但是我的解决方案并不比我开始时更接近.我得到的最接近的是这段代码:
(require 'oauth2) ; available via GNU ELPA
(defconst stack-auth-token
(make-oauth2-token
:client-id stack-auth--client-id
:client-secret stack-auth--key))
;; this doesn't use the above, but it does open an auth page on SE
(oauth2-auth-and-store
"https://stackexchange.com/oauth/dialog"
nil nil
stack-auth--client-id
stack-auth--key
"https://stackexchange.com/oauth/login_success")
Run Code Online (Sandbox Code Playgroud)
我提供OAuth2请求的唯一事情(从上面)显然是
如何在Elisp中实现此流程?
oauth2-auth-and-store适当的变量设置.打开

打开

使用此URL

该应用程序已成功添加

但我没有提供的代码 oauth2

除了答案,当然也欢迎PR.
我会尽力回答这个问题。我对 Lisp 一无所知,但对 Stack Exchange API 和授权流程非常熟悉。
\n\n\n\n\n“300 个请求的限制开始限制我一天可以进行的测试量。”
\n
您可以通过将 API 密钥附加到方法 URL 的查询字符串 ( ) 将此限制升级到每天 10,000 次查询&key=...。
\n\n\n“我认为可以分享的实际值\xe2\x80\x94可以在 GitHub 上找到。”
\n
是的,您可以安全地共享这些值,因为任何带有这些值的应用程序都可以轻松地进行逆向工程或反编译以提取这些值。
\n\n\n\n\n“4. 使用此 URL 打开 [...] 页面 [...]”
\n
这是有意的行为。在您的屏幕截图中,授权成功,并且 URL 的哈希值包含访问令牌。您将需要此令牌来访问某些方法,例如/inbox.
你可能想要做的事情看起来像这样:
\n\naccess_token和key(API 密钥)参数。| 归档时间: |
|
| 查看次数: |
704 次 |
| 最近记录: |