2009年2月27日 星期五

[野人獻曝] Yahoo! 斷章取義API範例程式碼(PHP版)

Yahoo! 斷章取義API測試程式碼

我的測試網站

這是今天看到 xdite 大大放出來的消息,
所以寫出來的程式碼。

如果不嫌棄的話,可以參考一下我的程式碼實作。
但是請注意,你一定要申請一個Yahoo!的API帳號,而且還要啟動它,
這樣程式才會正常運作喔!

Technorati 標籤: ,

10 則留言:

匿名 提到...

你好 看了你的文章
想請問一下
我照著您的程式碼 複製過去
想試著執行看看
也有申請KEY 跟啟動
但是網頁都是一片白 沒東西...
是有什麼步驟沒有做到嗎

麻煩您教我了
謝謝

Faryne 提到...

你在網頁的最前端擺一個error_reporting(E_ALL)好了,看看有發生什麼錯好了......

如果還是看不到錯誤的話,再來繼續看看吧~

匿名 提到...

oh ya~
終於出現畫面了
原來是我自己犯了一個非常蠢的錯

但是 現在又有個問題要請教
就是按下分析後
他顯示查詢中 經過5分鐘後 還在查
10分鐘過去 還在查...
我有辦法知道他是真的在查詢嗎
或是早已經停止?
因為我尚未有成功出現結果過...

總之 感謝再感謝...

Faryne 提到...

通常應該是不會花上五分鐘以上的時間啦,
可能是程式碼哪裡出問題了,這就要再觀察看看了(可能是再取網頁內容花太多時間、或者是送資料給Yahoo!分析花太久了,總之都很有可能啦)。

當然也不排除我當初寫的太爛,
有我沒意料的情形發生也不一定(汗)

匿名 提到...

恩恩...
我另外想請問
為什麼每次進入我試做的網頁
他會變成亂碼 都要調整編碼後才OK
不知道錯誤跟這個有關係嗎
http://wirl.er-webs.com/yahoo.php
這是我照著您的程式碼試做的
請您看看 不知能否看出些端倪?
感恩

Faryne 提到...

你存檔時選錯編碼了啦~
我的程式碼是用UTF-8編碼的,
所以你在存檔時要用UTF-8而非ASCII(Big5)存檔才行!

whitefur 提到...

你好
感謝你的分享
我把你的code複製貼上
我加入error_reporting(E_ALL)執行後
出現了以下兩則錯誤訊息
Notice: Undefined index: action in C:\AppServ\www\test\untitled.php on line 27

Notice: Undefined index: action in C:\AppServ\www\test\untitled.php on line 67

似乎是action的地方出問題了
請問是什麼原因呢?
感謝你

Faryne 提到...

@whitefur:

我剛剛試一下,應該是因為我當初寫的時候沒有判斷是否有$_GET['action']這個變數(默)

所以請你把第27行改成:「if (isset($_POST) && isset($_GET['action']) && strtolower($_GET['action']) == 'do_ajax') {」
和第67行改成「if (isset($_POST) && isset($_GET['action']) && strtolower($_GET['action']) == 'do_post') {」
這樣應該就沒問題了。

whitefur 提到...

您好
我把您的CODE放到我的電腦上跑
但是按下「分析吧!」之後卻沒有反應
http://114.32.63.213/test/untitled.php

不知道是哪裡出了問題
是否是我跟YAHOO那邊的溝通有問題
還是我要改什麼設定
我是用APACHE
不好意思我這兩天才開始使用PHP
因為專題的需要老師要我們幾天內學會用php去call斷章取義api
麻煩您了
謝謝

Faryne 提到...

@whitefur:

我想你照貼以後,忘了最重要的一件事了:沒有申請Yahoo! AppIDXD 請照官方網站說明申請一個API KEY在貼到程式的指定位置