APIが壊れている投稿をフラグ付けする

APIとPythonを使用して特定の投稿にフラグを立てています。これは数年間機能していましたが、最近3.2.0.beta4-devにアップグレードされてから、DiscourseClientError: You are not permitted to view the requested resource. というエラーが発生するようになりました。APIキーはまだ有効で、取り消されていません。手動で投稿にフラグを立ててリバースエンジニアリングしたところ、フラグを立てるためのペイロードは(flag_topicの値が変更された可能性はありますが、それは関係ないようです)変更されていません。何かアイデアはありますか?

       self._post(
            "/post_actions",
            id=post_id,
            post_action_type_id=7, # フラグを立てる
            message=msg,
            flag_topic=True
        )

フラグ付けに関する最近の変更の1つは、信頼レベルではなくグループが有効な設定への移行でした(flag post allowed groups)。これが何らかの形で関連している可能性はありますか?

「いいね!」 1

設定:

API キー:

おそらく、「すべてのユーザー」はフラグを立てる権限がなくなり、代わりに権限を持つ「単一ユーザー」(たとえば私)の新しい API キーが必要になるということでしょうか?「すべてのユーザー」が何を意味するのかはっきりしません。TL0?

理論的には、TL1 のデフォルトは設定の切り替え中に変更されていないため、API キーに対する同じ権限が引き続き機能するはずですが、信頼レベルではなくグループに基づいているため、他に影響を与えている要因がある可能性があります。グループの可視性が、グループ許可形式に移行された他の設定のいずれかで発生した別の奇妙な動作に影響しているという報告がありました。あなたの TL1 グループの可視性を変更したことはありますか?

「いいね!」 1

いいえ、すべてのグループが表示されています。


新しいAPIキー(今回はシングルユーザー「discobot」用。私のWebhookはユーザーdiscobotとして実行されます)でも試しましたが、discobotはTL0なので、flag post allowed groupsをTL0に変更しました。それでも同じエラーが発生します。「表示が許可されていないリソースにアクセスしようとしました。」

@discobot を TL1 に増やしたところ、動作するようになりました。結論はよくわかりませんが、ユーザーが信頼レベルとグループベースの設定の両方を満たしていることを確認してください。それでも、以前は動作していたのに壊れた理由は説明できません。

「いいね!」 1

うーん、よくわかりません :thinking: でも、今は動作していてよかったです。:slight_smile: 変更を加えた開発者に連絡して、他に何かあるか確認しましたが、あなたのものが再び稼働しているので、さらに深く掘り下げるのは、もう少し報告を待つことになるかもしれません。

しばらくの間、おそらく1日だけ機能しました。その後、@discobot は再びフラグを立てる能力を失いました。明確にしておきますが、これは API とは関係ありません。@discobot を偽装してトピックを閲覧しても、フラグアイコンは利用できません。@discobot の信頼レベルを変更すると、たとえ低いレベルであっても、フラグアイコンが再び表示されます。より正確に特徴づけようとしますが、何か問題があるようです。

また、この問題が @discobot 固有のものかどうかもわかりません。@discobot は、投稿に自動的にフラグを立てることを期待するユーザーであるため、使用しているだけです。そして、それは長年機能していました。

別のユーザーに確認する必要があるかもしれません。DiscobotとSystemを信頼レベルグループから削除する仕組みがあるため、これらのユーザーに基づく信頼レベルグループは、おかしな結果をもたらします(現在、フォーラムを更新するたびに再追加され、しばらくすると再び削除されます)。

このテストを行うための特定のテストユーザーを作成していただければ、結果がより明確になります。

「いいね!」 1

OK、API経由でフラグを設定するための専用ユーザーを作成しました。うまくいけば良いのですが…

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.