Канал вставки Yammer выбрасывает ошибку 404, не найденную периодически на странице sharepoint - PullRequest
0 голосов
/ 23 апреля 2019

Мы загружаем встроенный фид yammer на нашу страницу, используя фрагмент Open Graph.Мы пытаемся загрузить его в событие window.onload.Кажется, что время от времени он выдает HTTP 404. Это примеры:

  1. "HTTP404: НЕ НАЙДЕН - сервер не нашел ничего, соответствующего запрошенному URI (универсальному идентификатору ресурса). POST - https://www.yammer.com/office365 "
  2. " HTTP404: НЕ НАЙДЕН - Сервер не нашел ничего, соответствующего запрошенному URI (универсальному идентификатору ресурса). (XHR) GET - https://www.yammer.com/api/v1/open_graph_objects?url=myurl&properties%5Burl%5D=myurl&properties%5Btitle%5D=mytitle&properties%5Btype%5D=page&properties%5Bimage%5D=&properties%5Bdescription%5D=&properties%5Bsite_name%5D=&properties%5Bfetch%5D=true&properties%5Bignore_canonical_url%5D=false&properties%5Bprivate%5D=true&private=false&_=1556012959748 "

Это фрагмент кода, который мы используем:

var attach = function () {
    var yammerGroupId = "";
    if (window.location.href.indexOf('mydomain.sharepoint.com') > 0) {
        yammerGroupId = 0000000;
    }
    else {
        yammerGroupId = 0000000;
    }
   
    myDescription = "";
    yam.connect.embedFeed({
        container: "#embedded-feed",
        feedType: "open-graph",
        config: {
            use_sso: true,
            header: false,
            footer: false,
            showOpenGraphPreview: false,
            defaultToCanonical: false,
            hideNetworkName: false,
            defaultGroupId: yammerGroupId,
            promptText: "Comment on this page..."
        },
        objectProperties: {
            type: "page",
            url:window.location.href,
            fetch: true,
            title:document.title,
            private: true,
            ignore_canonical_url: false,
            description: ""
        }
    });

}


if (window.addEventListener) {
    window.addEventListener('load', attach, false)
} else if (window.attachEvent) {
    window.attachEvent('onload', attach)
}

Обратите внимание, что загрузка окна запускается, как и ожидалось.Работает нормально 7/10 раз, но периодически выдает ошибку 404 в Edge, IE и Chrome.

1 Ответ

0 голосов
/ 24 апреля 2019

Ожидается, что вы получите 404 из /api/v1/open_graph_objects за документацию , когда URL, переданный в качестве параметра, не является Открытым графическим объектом (OGO) в сети Yammer.Убедитесь, что параметр URL действительно действителен.

Например, вы установили url: myUrl, но вам, вероятно, лучше установить его напрямую с помощью "url": "window.location.href", поскольку значение, по-видимому, не установлено прямо из вашего кода.,Используйте инструмент настройки , чтобы лучше использовать JavaScript, поскольку ваш код выглядит недействительным.

...