我正在使用WWW :: Mechanize.对于不需要身份验证的方法,我会像其他任何URL一样获取这些方法,然后使用perl JSON模块解析出我想要的任何数据:
my $response = $mech->get('http://api.stackexchange.com/1.1/questions?fromdate=' . $lasthour)
my $q = from_json($response->content())
Run Code Online (Sandbox Code Playgroud)
我过去曾使用Mechanize登录网站,但Oauth的内容令人困惑,使用API提供的文档表明它适用于Web应用程序(需要使用StackExchange注册?).
特别是,我对通知方法感兴趣,虽然我希望正确的代码允许访问任何auth-required方法.
是否可以通过堆栈溢出 api 获取用户所做的答案和问题的数量?
目前,我找到了一个hacky的方法。它包括获取用户问题(或答案)的 json 响应,然后计算数组中的项目数。
但是,由于该数据是分页的,因此需要多个请求才能将它们全部计算在内。我宁愿找到一种仅使用单个请求来获取计数的方法。
我从https://api.stackexchange.com/docs获取我的信息 可能 我遗漏了什么?
我对获取基于标签或搜索查询的问题列表感兴趣。我举一个例子。
因此,如果我将搜索关键字用作“ ipv4”,它应该给我大量与ipv4相关的问题。我要做的就是以列表或数组的形式获取问题(标题),以便对其进行处理。
Stackoverflow正在庆祝1000万个问题.恭喜!
为我们提供以下链接:https://stackoverflow.com/10m
显示3个计数器,每个计数器的数量快速增加而不是静态.
但是,我没有看到任何AJAX请求显示每个计数器的最近结果.
我在论坛中也有这样一个计数器,但为了获得最近的帖子数量,我每3秒做一次AJAX请求,运行查询SELECT MAX(id) AS total_posts FROM forumposts显示.
我知道,这不是我们拥有的最佳解决方案,如果删除帖子,它将不再正确.使用该SELECT COUNT(id)命令太慢了,因为我们还有超过1000万个帖子.
那么,Stackoverflow如何在没有任何请求的情况下显示其计数器的增加?对我来说这似乎是一个更好的解决方案,我也想将它用于我们的论坛.
我正在建立一个网站,对IT问题进行分类.
如何获取stackoverflow上使用的所有标记的内容?
我需要使用相同内容的相同标记功能,但需要单独使用.
如何提取所有标签的内容?(应该是几千)
我正在按照这里提到的说明进行操作:https : //api.stackexchange.com/docs/authentication
但是由于没有提供任何代码,因此我无法正确理解流程。
我一直在尝试使用下面的两种方法来完成身份验证部分,但是我遇到了麻烦。
import requests
from pprint import pprint
resp = requests.get('https://stackexchange.com/oauth/dialog?client_id=6667&scope=private_info&redirect_uri=https://stackexchange.com/oauth/login_success/')
pprint(vars(resp))
Run Code Online (Sandbox Code Playgroud)
import oauth2 as oauth
from pprint import pprint
url = 'https://www.stackexchange.com'
request_token_url = '%s/oauth/' % url
access_token_url = '%s/' % url
consumer = oauth.Consumer(key='mykey',
secret='mysecret')
client = oauth.Client(consumer)
response, content = client.request(request_token_url, 'GET')
print(response, content)
Run Code Online (Sandbox Code Playgroud)
我不确定如何从这里前进?我需要使用返回的访问令牌,并使用它来查询API。样例代码确实非常有帮助!谢谢。
编辑:这是我当前使用的代码:
from requests_oauthlib import OAuth2Session
from pprint import pprint
client_id = 'x'
client_secret = 'x'
redirect_uri = 'https://stackexchange.com/oauth/login_success'
scope = 'no_expiry'
oauth = OAuth2Session(client_id, redirect_uri=redirect_uri, scope=scope) …Run Code Online (Sandbox Code Playgroud) 我想回答新的javascript,react,react-native和node问题。那么,我如何知道用户在这些领域提出的新问题?
我有一种感觉,我在这里做错了,但我不太确定我是否错过了一步,或者只是遇到了编码问题.这是我的代码:
URL url = new URL("http://api.stackoverflow.com/0.8/questions/2886661");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
// Question q = new Gson().fromJson(in, Question.class);
String line;
StringBuffer content = new StringBuffer();
while ((line = in.readLine()) != null)
{
content.append(line);
}
Run Code Online (Sandbox Code Playgroud)
当我打印内容时,我得到了一大堆的翅膀和特殊的角色,基本上是乱七八糟的.我会在这里复制并通过它,但这不起作用.我究竟做错了什么?
我使用PHP代码来获得Stack Overflow的声誉.
$feed = json_decode(file_get_contents("http://api.stackexchange.com/2.1/users/22656?order=desc&sort=reputation&site=stackoverflow&filter=!*MxOyD8qN0Yghnep", true), true);
$array = $feed['items'][0];
$rep = $array['reputation'];
echo $rep;
Run Code Online (Sandbox Code Playgroud)
但我得到null了饲料.此外,用户帐户是Jon Skeet,这是我获取ID 22656的地方.我该如何解决这个问题?
我想通过 StackExchange API 检索 Ruby 或 Java 等语言的“标签使用计数”。
基本上我想通过 API 调用检索这些数字: https: //stackoverflow.com/tags
例如,如何通过 StackExchange API 调用获得 780k for Java(如链接中所示)?
有人知道吗?
我试过这个: https: //api.stackexchange.com/2.2/search/advanced ?order=desc&sort=activity&tagged=java&site=stackoverflow
但这并没有给我总数
使用 Stack Exchange Data Explorer 似乎很容易 https://data.stackexchange.com/stackoverflow/query/229727
但如何通过 API 检索这些计数呢?