Интеграция WordPress и Discourse не подключается

У меня возникают проблемы с подключением WordPress к Discourse (моя установка находится здесь: forum.employ.com). Вот сообщение об ошибке:

[2023-11-07 19:14:56] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 
[2023-11-07 19:15:11] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 
[2023-11-07 19:15:35] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 
[2023-11-07 19:16:18] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 
[2023-11-07 19:16:51] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 
[2023-11-07 19:55:28] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 
[2023-11-07 19:57:56] connection.INFO: check_connection_status.failed_to_connect {"error":"wpdc_response_error","message":"От Discourse получен недопустимый ответ","http_code":403,"http_body":"{\"errors\":[\"У вас нет прав на просмотр запрошенного ресурса. Имя пользователя или ключ API недействительны.\"],\"error_type\":\"invalid_access\"}"} 

Ключ создан правильно, поэтому я не совсем понимаю, что делать дальше… Есть какие-то идеи?

  • Джейк

Как вы создали имя пользователя и ключ API? Уровень пользователя и Область действия.
Из документации:

  • Имя пользователя должно принадлежать пользователю с правами администратора Discourse.
  • Область действия должна быть установлена в Global.

Можете подтвердить, что вы всё делаете правильно?


Я считаю, что мы всё сделали правильно при настройке.

Employ Concierge

В этом и проблема! Вы должны ввести имя пользователя, а не имя.
Имя пользователя уникально и не содержит пробелов.

Попробовал, сейчас попробую снова. Вы имеете в виду, что имя пользователя может состоять только из одного слова?

Да, вы можете посмотреть профиль этого пользователя на вашем Discourse. У вас отображается имя пользователя (или вы также можете посмотреть URL).

Например:

Хорошо, значит, я не хочу использовать своё имя… Я так понимаю, мне нужно создать ещё одного администратора в Discourse с более общим именем, верно?

Конечно, вы можете создать ещё одного пользователя-администратора. :slight_smile:

Как отметил @Arkshine, имя пользователя для публикации должно быть установлено в имя пользователя администратора, а не в его полное имя.

Вы не опубликовали здесь свой полный API-ключ, но следует быть очень осторожным при размещении любой информации, содержащей API-ключи с вашего сайта Discourse. Если бы это был мой сайт, я бы, вероятно, сейчас сгенерировал новый API-ключ и обновил настройку API-ключа в WordPress, чтобы использовать новый ключ.

@angus, стоит ли скрывать значение настройки API-ключа в интерфейсе плагина? Это могло бы подчеркнуть необходимость защиты ключа. Кроме того, это упростило бы публикацию скриншотов страницы состояния подключения плагина.

Спасибо, Саймон. Да, я создал ещё один, так что тут проблем нет.

Было бы полезно, если бы в документации плагина для Discourse было более чётко указано, как найти имя пользователя в Discourse. Возможно, многие пробуют и бросают, не решаясь написать сюда. Можно было бы привести пример URL и объяснить, как его найти… как это было сделано в этой теме.

Рад, что вы решили проблему, @Jacob_Peebles.

Как упоминалось в видео о подключении и в документации, самый простой вариант — оставить имя пользователя по умолчанию system.

Если вы решите изменить его, вам всё равно потребуется использовать другое имя пользователя.

Я добавил дополнительную строку в документацию с информацией о том, где найти имя пользователя.

Это так нелепо: я переименовал system, чтобы это как-то соответствовало нашему бренду (пользователь, от имени которого публикуются посты), но обновления возвращают ему прежнее имя. Это разрывает связь с WP…

Привет, @Firsh! Жаль, что у вас возникли проблемы. Не могли бы вы создать новую тему в канале Support > WordPress и подробнее описать проблему? Укажите, какие шаги вы предприняли, какое поведение ожидали, а также приложите логи, скриншоты и соответствующие ссылки. Спасибо!

Это одно и то же, эта тема действительно помогла прояснить ситуацию. Как и у OP, у меня в поле «пользователь публикации» (имя) было указано что-то нестандартное.

Понятно. Значит, вам удалось решить проблему?

Да, но я создал и ту тему, потому что возврат имени пользователя — это другая проблема (если она тоже стала неожиданностью для других), это был лишь побочный эффект.