使用Bitly API縮短網址|PHP開發 - 林蛙LinFrog

文章推薦指數: 80 %
投票人數:10人

用程式產生API短網址的需求感覺很少, 網路上Bitly中文教學好少,只看到兩篇,還是2010年的, 資訊舊了,孩子都大了(?),API都改版了。

作者林蛙 / 3月03,2021 / 開發筆記 用程式產生API短網址的需求感覺很少,網路上Bitly中文教學好少,只看到兩篇,還是2010年的,資訊舊了,孩子都大了(?),API都改版了。

喔~我真的很難得寫PHP丟Apache,平常是走C#丟IIS路線,若寫錯請留言糾正,感謝,如果有幫上忙就太好了。

內容目錄 註冊產生Token就是這邊有Bug已經用第三方Google登入PHP程式碼 註冊 註冊時,建議不要用第三方登入(Google登入等),請走一般輸入Mail加密碼路線。

至少在2021/03/03的今天是有Bug的,會導致後續步驟重要的Token無法產生,也不知道Bitly何時修正。

(⊙_⊙;) 產生Token 登入後,按右上箭頭,點擊ProfileSettings。

再點擊GenericAccessToken。

最後在PASSWORD輸入登入密碼,產生Token。

就是這邊有Bug 輸入登入密碼時,如果你是使用第三方Google登入,代表Bitly沒有儲存你密碼進資料庫,因為已經交給第三方Google去驗證了,Bitly沒有存密碼,就無法比對你的密碼正不正確,所以這邊會不斷驗證失敗,無法產生Token。

已經用第三方Google登入 也別擔心,告訴你解決辦法,就是先登出,然後登入畫面點忘記密碼Forgot? 讓Bitly發重設密碼信件至註冊的Mail,只要重設密碼後,Bitly就會儲存你密碼至資料庫,就可以驗證密碼產生Token了! PHP程式碼 上一步產生的Token請貼上取代下方{TOKEN}處,{LONG_URL}請取代成要轉換的長網址。

"{LONG_URL}",//{LONG_URL}替換要轉換的長網址 "domain"=>"bit.ly" ); $jsonStr=json_encode($arr); $result=json_decode(curl_post($url,$jsonStr),true); if(isset($result['link']))//link欄位擺短網址,如果沒有link欄位代表有錯誤 { echo$result['link'];//回傳短網址 }else{ echo$result['message'];//有錯誤回傳message訊息 } functioncurl_post($url,$jsonStr){ $ci=curl_init(); curl_setopt($ci,CURLOPT_URL,$url); curl_setopt($ci,CURLOPT_POST,true); curl_setopt($ci,CURLOPT_CUSTOMREQUEST,'POST');//用POST丟 curl_setopt($ci,CURLOPT_POSTFIELDS,$jsonStr);//丟json資料 curl_setopt($ci,CURLOPT_HTTPHEADER,array( 'Content-Type:application/json',//用json溝通 'Authorization:Bearer{TOKEN}'//{TOKEN}替換你自己的長長token )); curl_setopt($ci,CURLOPT_RETURNTRANSFER,1); curl_setopt($ci,CURLOPT_SSL_VERIFYHOST,0);//Bitly的Api網址是Https(https://api-ssl.bitly.com/v4/shorten) curl_setopt($ci,CURLOPT_SSL_VERIFYPEER,0);//這兩行SSL的參數記得要打,才能正常使用 $result=curl_exec($ci); if(curl_errno($ci)){ echo'error:'.curl_error($ci); } curl_close($ci); return$result; } ?> 如果你需要取其他欄位,或是使用進階功能,就需要自己看BitlyAPI文件囉。

我目前是只用免費版縮短網址功能,每個月可以產生1000個短網址,已經夠我用了! 如果需要更多短網址及其他功能,請直接前往Bitly官網查看付費版。

(延伸閱讀:培養4種寫程式好習慣)(延伸閱讀:寫程式求救3階段)(延伸閱讀:對我影響深遠的8個好句子|也許你該找人聊聊|好書推薦)(延伸閱讀:3大主因導致工程師職業病) 林蛙 https://linfrog.com/ 上一篇文章 下一篇文章 發佈留言取消回覆 在瀏覽器中儲存顯示名稱、電子郵件地址及個人網站網址,以供下次發佈留言時使用。

關於我 嗨,大家好,我是林蛙。

因為我姓林,喜歡青蛙。

分類 人生成長(8) 工程師(24) 拼圖開箱(9) 開發筆記(3) 雜項整理(4)



請為這篇文章評分?