Shields.io が Discourse 統計 API を取得できません

皆さん、こんにちは

当リポジトリには以前から Discourse シールドを設置していましたが、最近機能しなくなりました。

404: badge not found にアクセスし、任意の Discourse シールドを選択すると、Discourse ドメインアドレスを入力することで、正しい統計情報が表示されたシールドを確認できます。meta.discourse.org で試してみてください。

しかし、当社の Discourse ホストアドレス(https://discuss.grakn.ai)を入力すると、http/https のどちらの場合も、あらゆる統計情報に対して常に「invalid」と返されてしまいます。

Discussion Forum

ホストが見つからない場合、Shields.io は「inaccessible」を返します。したがって、「invalid」はアクセス可能だが、アクセス権限の問題や無効なレスポンスがあることを意味すると推測されます。

Discourse の統計 API(Shields.io が使用しているもの)に、最近のアップデートやアップグレードによって何らかの問題が生じた可能性はありますか?

よろしくお願いいたします。

私のサイトでは正常に動作しています。もしかすると、プロトコルの設定が正しくないのかもしれません。あるいは、Grakn Discourse にそのエンドポイントを壊すような変更が加えられている可能性があります。

画像

その問題については Shields.io に問い合わせることをお勧めします。私がテストした他のすべてのサイトでは正常に動作しているため、これは私たちのバグではありません。

@marianord 質問はまさにそれです:おっしゃる「プロトコル」はどこにありますか?どのように設定できますか?私は設定を変更していません。

@gerhard shields.io が他の Discourse サイトで動作していることから、彼らの側に問題があるとは考えにくいです。ただし、彼らが当サイトの統計出力を正しく読み取れていない可能性はあります。しかし、これをどうやって確認すればよいのでしょうか?統計を照会するために Discourse から使用されるエンドポイントは何ですか?まずはそこから始めるべきかもしれません。

「http」と「https」について言及しています。

この問題は、Discourse のインストールが Shields.io のユーザーエージェント(Shields.io)をブロックしたために発生しました。この設定は「許可されたクローラーユーザーエージェント」と呼ばれ、以下の場所で編集できます。
<discourse_server>/admin/site_settings/category/all_results?filter=crawler

面白い!@max_grakn さん、ありがとうございます。最近 Googlebot をホワイトリストに追加したのですが、それが原因かもしれません。

@codinghorror さん、ブラックリストとホワイトリストを同時に使うべきなのでしょうか?つまり、ホワイトリストに項目を追加すると、それ以外はすべてブラックリスト扱いになる(したがってブラックリストが無効になる)ということでしょうか?

いいえ、クローラーのホワイトリストは非常に危険であり、ヘルプテキストに従って慎重に使用する必要があります。

サイトへのアクセスを許可するウェブクローラーのユーザーエージェント。警告!これを設定すると、ここにリストされていないすべてのクローラーがアクセスできなくなります!

こんにちは、私もテストで無効なデータを受け取った際に同じ問題が発生しました。何かご存知ですか?

現在は解決しました。匿名統計の収集を有効にする必要があります:

管理画面 → 設定 → その他 → 匿名統計の共有 = 有効

これで shields.io 側でも問題なく動作するようになりました。

私も同じ問題を抱えていますが、匿名統計の共有は既に有効になっています。
:cry:

[![Racket Discourse](upload://6fa5jbSn04vRLXdubAYmFJt5emf.svg)]

[Racket Discourse]

関連:\n\nhttps://github.com/discourse/discourse/pull/23933\n\nこれは、いくつかのフィールドが複数形に変更されたためです。\n\n`topic_count`topics_count\npost_countposts_count\nuser_countusers_count\nlike_countlikes_count\n\n誰かがここでコードを変更して、複数形へのフォールバックを実装する必要があります。\n\nshields/services/discourse/discourse.service.js at master · badges/shields · GitHub

これはまだ壊れています。他の誰かのために機能していますか?

Racket Discourse

![Racket Discourse](upload://7asTK98zfWLXRebm11uEN3KPM5N.svg)

数日前にPRが開かれました。

しかし、当然ながらこの変更は、どのDiscourseインスタンスが更新されたかどうかの保証がないため、shields.ioに両方のバージョンを(永続的に、おそらく)サポートする負担を強いることになります。そのため、複数形に変更するほど単純ではありません。