Microsoft.XMLDOM - Facebook Page RSS - System error: -2147012866

Microsoft.XMLDOM - Facebook Page RSS - System error: -2147012866

我已成功连接我的经典 ASP 站点以阅读 Facebook 页面 RSS 提要和 return 最新 post 的详细信息。这在设置时一直工作得很好,但前几天我注意到它不再工作了。我已经摆弄了很多,但我所做的一切似乎都没有什么不同,到目前为止,我还没有找到其他遇到过这个问题的人。

我的代码如下所示:

    dim TheFeed, objXML, objRoot, objItems, TheTitle, TheLink, objItem, TheDate, TheContent

    TheFeed = "https://www.facebook.com/feeds/page.php?format=rss20&id=1472957232934372"

    Set objXML = Server.CreateObject("Microsoft.XMLDOM")

    objXML.Async = False
    objXML.SetProperty "ServerHTTPRequest", True
    objXML.SetProperty "SelectionLanguage", "XPath"
    objXML.ResolveExternals = True
    objXML.ValidateOnParse = True
    objXML.Load(TheFeed)

    If (objXML.parseError.errorCode = 0) Then
       Set objRoot = objXML.documentElement
       If IsObject(objRoot) = False Then
           Response.Write "There was an error retrieving the feed"
       Else
           Set objItems = objXML.selectNodes("//item[position() <= 1]")
              If IsObject(objItems) = True Then
                  For Each objItem in objItems
                      On Error Resume Next
                      TheTitle =  objItem.selectSingleNode("title").Text
                      TheLink =  replace(objItem.selectSingleNode("link").Text,"&","&amp;")
                      TheDate =  left(objItem.selectSingleNode("pubDate").Text,16)
                      TheContent =  objItem.selectSingleNode("description").Text 
                Next
             End If
         Set objItems = Nothing
       End If
    Else
        Response.Write "There was an error retrieving the blog: " & objXML.parseError.reason
    End If
    Set objXML = Nothing

它产生的结果:

There was an error retrieving the blog: System error: -2147012866.

最近有没有其他人在尝试阅读 Facebook RSS 提要时遇到任何问题?有谁知道这里可能是什么问题? 任何帮助将不胜感激!

尝试使用最新版本的 Microsoft XML 处理器。将您的第三行代码替换为:

Set objXML = Server.CreateObject("Msxml2.DomDocument.6.0")

我注意到您似乎没有输出 XML 节点值,您只是将它们写入变量。如果你循环遍历一组元素,那么 TheTitleTheLinkTheDateTheContent 的值将在每次迭代时被覆盖,如果你 response.write 稍后在您的页面中您将只显示要解析的最后一条记录