2011-12-13 55 views
2

有誰知道我爲什麼會收到下面的錯誤信息?我開始學習Facebook開發的世界,我找不到一個簡單的答案。如何解決找不到表的定義錯誤?

代碼:收到

$twitterUrl ="http://query.yahooapis.com/v1/public/yql?q="; 
$twitterUrl .= urlencode("select * from twitter.status where id='jzm'"); 
$twitterUrl .="&format=json"; 

$twitterFeed = file_get_contents($twitterUrl, true); 
$twitterFeed = json_decode($twitterFeed); 

print_r($twitterFeed); 

錯誤:

stdClass Object ([error] => stdClass Object ([lang] => en-US [description] => No definition found for Table twitter.status)) 

回答

3

嘗試增加&env=http://datatables.org/alltables.env到您的查詢。

$twitterUrl ="http://query.yahooapis.com/v1/public/yql?q="; 
    $twitterUrl .= urlencode("SELECT * FROM twitter.status WHERE id='jzm'"); 
    $twitterUrl .="&format=json"; 
    $twitterUrl .="&env=http://datatables.org/alltables.env"; 

    $twitterFeed = file_get_contents($twitterUrl, true); 
    $twitterFeed = json_decode($twitterFeed); 

    print_r($twitterFeed); 
0

問題是,您正試圖加載雅虎API默認無法識別的開放表。

所以,你可以通過下面的查詢前綴查詢:

USE 'http://www.datatables.org/twitter/twitter.status.xml' AS twitter.status; 

這將加載custom community table,所以以後你可以使用它。

一般語法是:

USE "http://myserver.com/mytables.xml" AS mytable; 
SELECT * FROM mytable WHERE... 

瞭解更多:Invoking an Open Data Table Definition within YQL

相關問題