2010-04-24 43 views
0

我目前使用此代碼來獲取用戶到我的博客數量:獲取feedburner訂戶的數量?

$whaturl="http://api.feedburner.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/DesignDeluge"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, $whaturl); 
$data = curl_exec($ch); 
curl_close($ch); 
$xml = new SimpleXMLElement($data); 
$fb = $xml->feed->entry['circulation']; 

但是當我回聲$ fb的它不工作(即$ FB整個文件被呼應上沒有按」 t出現)。任何想法,爲什麼這不工作?

回答

1

如果你想用的SimpleXMLElement加載它之前看一看$data,你會看到它包含了HTML代碼以下部分:

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> 
<TITLE>301 Moved</TITLE></HEAD><BODY> 
<H1>301 Moved</H1> 
The document has moved 
<A HREF="http://feedburner.google.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/DesignDeluge">here</A>. 
</BODY></HTML> 

那麼,有沒有辦法,你會發現你要找的在那裏;-)


一個解決方案是使用CURLOPT_FOLLOWLOCATION選項(見curl_setopt,所以捲曲如下redirecti ons ...

...但是這似乎也不起作用。


其實,當我嘗試加載在我張貼的HTML代碼的部分中給出的網址前面:

http://feedburner.google.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/DesignDeluge 

我只得到下面的XML作爲回報:

<?xml version="1.0" encoding="utf-8" ?> 
<rsp stat="fail"> 
    <err code="2" msg="This feed does not permit Awareness API access" /> 
</rsp> 


您確定您使用的是正確的網址/供稿嗎?

+0

啊,事實證明有兩件事情是錯誤的:我所遵循的教程過時了,所以URL錯了,我也必須自己啓用對API的訪問。謝謝! – williamg 2010-04-24 21:30:26

+0

不客氣:-)很高興你發現了什麼導致了問題:-) – 2010-04-24 21:52:16