我需要将我的php脚本连接到Gmail Atom Feed以检索未读的计数 消息,但我在获取xml feed文件时遇到问题:
if($xmlGmailFeed = simplexml_load_file("https://USERNAME:PASSWORD@gmail.google.com/gmail/feed/atom/"))
$unreadMessages = $xmlGmailFeed->fullcount;
给出:无法加载外部实体 我可以吗? thaks:)
错误!无法打开流:HTTP请求失败! HTTP / 1.0 401未经授权
答案 0 :(得分:1)
是的,听起来像是身份验证错误。我相信你必须使用curl进行身份验证,因为simplexml_load_file
是不够的。看看GmAtom class。它会做到这一点,或者至少指出你正确的方向。
答案 1 :(得分:0)
尝试使用:
https://USERNAME:PASSWORD@mail.google.com/mail/feed/atom/
答案 2 :(得分:0)
首先尝试执行file_get_contents以查看Feed是否正常并且您已启用allow_url_fopen。 然后,您可以尝试将其保存为临时文件,并将该路径传递给simplexml_load_file。
如果以上工作,你有php< 5.1.0你可以尝试做
simplexml_load_file(rawurlencode("https://USERNAME:PASSWORD@gmail.google.com/gmail/feed/atom/"))
从PHP 5.1.0起,您不需要这样做,因为PHP会为您完成此操作。