追記(解消されたとのことです)

Qiita:Supportに問い合わせしていたのですが、コメント数がおかしかった件について、すでに調査・対応が完了し問題が解消したと返答いただきました。(2018/11/12 12時)

今回の問題は深刻なケース(○○機能が使えない)には該当しない判断らしく、アナウンスはないとのことでした。個人的には深刻でしたけれど

概要

先日、自動投稿しているQiitaのコメントランキング記事にコメントついてない記事なのにランキングされているとコメントをいただきました。(2018/11/ 09 20時くらい

https://qiita.com/kai_kou/items/df87ebf338389a39062c#comment-27fc341d01e60398165a

なんだろうなぁと思って調べてみました。

調査

ランキングはQiita API v2を利用して記事を取得して集計しているので、APIを確認してみました。とりあえず自分の記事をみてみます。

> curl "https://qiita.com/api/v2/items?query=user:kai_kou" \
  | jq -r '.[] | [.comments_count, .title, .id] | @csv'

0,"PythonのFlaskでAPI開発するときの参考記事まとめ","889b016e19203fac5c9d"
1,"Flask-RESTfulとFlask-SQLAlchemyを利用してリソースをネストしてJSONを返す方法","9dea3a08c1577a6dd952"
2,"PythonでQiitaに予約投稿できるツールをさくっと作ってみた(使い方編)","9129f0cc5249a039d11d"
1,"Google Cloud Functionsでgoogle-api-python-clientを利用してfile_cache is unavailableエラーになったときの対応方法","4b754c61ac225daa0f7d"
0,"MacOSのSafariでCORS制限を無効化する設定があって開発時に便利でした","54b61a274b77977add54"
0,"Pythonの標準ライブラリでさくっとAPIサーバとWebサーバを立ち上げる","6cf5930330b85fa583b0"
0,"Google App Engine上でFlaskを利用してNo Content(204)を返すとき、 ```Content-Length``` が0じゃないとエラーになる","a4204189b1b9d4b74dc9"
0,"Google App Engine上のFlaskでレスポンスをNo Content(204)で返す方法を調べた","801ae9715b5b8f4736b8"
0,"PythonでCLIツールを作成するのにdocoptでパラメータのパーサー作成を自動化する","5ff0958264c56ecf0a17"
0,"SQLAlchemyをMySQLで主キーをUUIDにするならSQLAlchemy-Utilsが便利","70d73af54c2550051607"
1,"Qiitaの限定共有投稿で意図せずユーザーメンションすると通知がされて迷惑になるので注意しましょう","1bdd5d80a9e2180eca45"
0,"Qiita API v2を利用してcurlで投稿してみた","663d3f7bbc4da4ccf62d"
0,"MacでCloud SQL Proxy Dockerイメージを利用して接続するとき```x509: certificate signed by unknown authority``` エラーが出たときの対応","167d670c1d7a108dde4b"
3,"docker-compose.ymlでDockerfileを指定したい","eaafa3cb15e1496f50ec"
0,"GCPのgcloudコマンドからGoogle Issue TrackerにIssueを登録してみる","9db1d3405ee73280737c"

そんなにコメントをいただける記事が書けてないはずなのに、いくつかコメント数がついてます。最近投稿した記事をさらにみてみます。

確認する記事

2,"PythonでQiitaに予約投稿できるツールをさくっと作ってみた(使い方編)","9129f0cc5249a039d11d"
> curl "https://qiita.com/api/v2/items/9129f0cc5249a039d11d"  \
  | jq -r '.[] | [.comments_count, .title, .id] | @csv'

2,"PythonでQiitaに予約投稿できるツールをさくっと作ってみた(使い方編)","9129f0cc5249a039d11d"

記事をピンポイントで取得してもcomments_count の数は変わらず。コメントを取得してみます。

> curl -i "https://qiita.com/api/v2/items/9129f0cc5249a039d11d/comments" | jq

HTTP/2 200
date: Sat, 10 Nov 2018 01:46:50 GMT
content-type: application/json; charset=utf-8
server: nginx
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
link: ; rel="first", ; rel="next", ; rel="last"
total-count: 0
etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5"
cache-control: max-age=0, private, must-revalidate
rate-limit: 60
rate-remaining: 50
rate-reset: 1541817594
vary: Origin
x-runtime: 0.105595
strict-transport-security: max-age=2592000
x-request-id: 39dd51d5-e59f-4bd8-b70d-5ae64a77c564

[]

はい。
空っぽです。total-count0 です。悲しい

APIだけかなと思ったのですが、Qiitaサイトで確認しても同じ状況でした。悲しい

想像

投稿情報items に含まれるcomments_count の数値が実コメント数となっていないので、最近、そのへんを改修して、デグレでも起こした感じでしょうか?あらまあ

コメントランキングを作成しているツールについては上記のようにcomments から正しいコメント数を取得して対応中で、その際に各記事のコメントを確認できるようにしたのですが、限定共有投稿も同じ状態だったり、設定される数字もバラバラで法則性が見えませんでした。

まとめ

@Qiitaの中の人!修正はよ!はよ!

参考

jq コマンドを使う日常のご紹介
https://qiita.com/takeshinoda@github/items/2dec7a72930ec1f658af

元記事はこちら

Qiitaのコメント数表示がおかしくなったので調べてみた