Не получает ответ WeChat Follow

У меня есть официальная учетная запись для отладки в WeChat. Я ввел свой общедоступный URL-адрес и токен в поле http://admin.wechat.com/debug/sandbox, а также попытался отладить запрос с помощью http://admin.wechat.com/debug/

Метод POST моего приложения ASP.Net [.Net4.5] Web API выглядит следующим образом:

public HttpResponseMessage PostMessage([FromBody]Strikemedia.Api.WeChat.TextMessage value)
    {
        if (value == null)
        {
            var richMediaMessage = new RichMediaMessage();
            richMediaMessage.touser = value.FromuserName;

            //Create Article
            var item = new Article()
            {
                title = "Didn't receive anything back",
                description = "Mind entering 'test'",
                picurl = "URL",
                url = "URL"
            };
            var articles = new List<Article>();
            articles.Add(item);
            richMediaMessage.articles = articles;
            richMediaMessage.articleCount = articles.Count;
            return Request.CreateResponse(HttpStatusCode.OK, richMediaMessage, "application/json");
        }

        var exploded = value.Content.Split(' ')[0];

        var richMedia = new RichMediaMessage();
        richMedia.touser = value.FromuserName;

        //Create Article
        var article = new Article() { 
            title = response.KeywordDescription,
            description = response.Response,
            picurl = "URL",
            url = "URL"
        };
        var _articles = new List<Article>();
        _articles.Add(article);
        richMedia.articles = _articles;
        richMedia.articleCount = _articles.Count;

        //Return response
        var resp = Request.CreateResponse(HttpStatusCode.OK, richMedia, "application/json");
        //resp.RequestMessage.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
        return resp;
    }

Он должен ответить RichMessageType в формате JSON и получен в формате XML.

Я что-то упустил или я что-то упустил из виду?


person Cipher    schedule 10.04.2014    source источник


Ответы (1)


Можете ли вы подтвердить, что отправили URL-адрес и токен на admin.wechat.com и что URL-адрес и токен были приняты?

Также обратите внимание, что вы получаете XML, и вы отвечаете XML без ответа json.

Вы смотрели на: http://youtu.be/kB20Zf51QWU А затем это http://youtu.be/_2FSzD2B2F0

Это документацию для XML можно найти, когда вы гуглите "wechat guide to message api"

Поэтому, если вы все еще не получили сообщение об успешном отправке приложения на admin.wechat.com, вы можете отправить мне свой тестовый URL-адрес здесь. Чтобы найти этот URL-адрес, проверьте свои журналы доступа, чтобы увидеть, какой именно URL-адрес вызывает wechat. Тогда опубликуйте это здесь. Обратите внимание, что когда вы нажимаете URL-адрес, как wechat, вы должны видеть только «echostr», напечатанный на экране (при просмотре источника в вашем браузере). Никакого XML, никакого HTML, только echostr.

Также убедитесь, что после или перед «echostr» нет пробелов или новых строк. Когда вы просматриваете источник, это должна быть только одна строка, которая является значением параметра echostr GET.

XML-ответ приходит только позже, когда вы фактически начинаете отвечать на сообщения от пользователей. На данный момент Wechat просто проверяет, правильно ли настроена ваша безопасность.

Также обратите внимание, что если ваш сервер сбалансирован по нагрузке, вам придется пропустить проверку подписи и создать свою собственную проверку, когда параметр echostr GET будет передан, и выводить на экран только параметр "echostr".

person DeveloperX    schedule 10.04.2014
comment
Нам удалось выяснить, что URL и токен необходимы для продолжения, однако после многих попыток отправить требуемую строку echostr панель по-прежнему выдает ошибку конфигурации. - person Cipher; 10.04.2014
comment
URL-адрес запроса, который нам предоставляет weChat, выглядит следующим образом: nofollow noreferrer">api.strikemedia.co.za/WeChat/WeChatTest/api/ возвращает текстовый/простой ответ с нашей стороны - person Cipher; 10.04.2014
comment
Пожалуйста, подтвердите, является ли api.strikemedia.co.za решением с балансировкой нагрузки? Если это так, вам нужно удалить проверку подписи. - person DeveloperX; 10.04.2014
comment
Я могу подтвердить, что у нас нет решения для балансировки нагрузки. - person Cipher; 10.04.2014
comment
В конце вашего echostr есть пробел/новая строка. Пожалуйста, удалите это. - person DeveloperX; 10.04.2014
comment
Быстрый вопрос @DeveloperX: для сообщений, которые отправляются по указанному URL-адресу, какие заголовки присутствуют в запросе? - person Armand; 10.04.2014
comment
@Armand Пожалуйста, задайте новый вопрос в stackoverflow, так как я думаю, что это очень правильный вопрос. Тогда, пожалуйста, пришлите мне ссылку. Подробно ответим там. Мы пытаемся собрать здесь как можно больше ответов, чтобы облегчить интеграцию всех. - person DeveloperX; 11.04.2014
comment
@DeveloperX Удаление символа новой строки устранило проблему. Приложение теперь зарегистрировано, спасибо - person Cipher; 11.04.2014
comment
@Armand: HEADERS Cache-Control: no-cache Content-Length: 682 Content-Type: text/xml Дата: пятница, 11 апреля 2014 г., 09:47:38 GMT Срок действия: -1 Прагма: no-cache Сервер: Microsoft-IIS /7.0 X-Aspnet-Версия: 4.0.30319 X-Powered-By: ASP.NET - person DeveloperX; 11.04.2014