1. 首先,以Google Spreadsheet為網頁資料庫此篇文章為基礎,經過我修改過後為以下
(※記得將sheet發布至網路)


code
<script>
  $(document).ready(function(){
     var EventNumeber = 1;
     var EventName = [];
     var EventConversation = [];
     $.getJSON('https://spreadsheets.google.com/feeds/list/YOUR_SPREADSHEET_ID/od6/public/values?alt=json', function (data){
          for (var i=0; i < data.feed.entry.length; i++){
          EventName[i] = data.feed.entry[i].gsx$eventname;
          EventConversation[i] = data.feed.entry[i].gsx$eventconversations;
      }
     });
   });  
</script>




  1. 只要再加入jQuery 的一些指令,即可顯示資料於頁面中
code
<h2 ="conversations-name"></h2>
<div ="conversations-content"></div>
<script>
  $(document).ready(function(){
     var EventNumeber = 1;
     var EventName = [];
     var EventConversation = [];
     $.getJSON('https://spreadsheets.google.com/feeds/list/YOUR_SPREADSHEET_ID/od6/public/values?alt=json', function (data){
          for (var i=0; i < data.feed.entry.length; i++){
          EventName[i] = data.feed.entry[i].gsx$eventname;
          EventConversation[i] = data.feed.entry[i].gsx$eventconversations;
      }
     $(".conversations-name").text(data.feed.entry[EventNumeber]['gsx$event1.01']['$t']);
          $(".conversations-content").text(data.feed.entry[EventNumeber]['gsx$event1.01']['$t']);

      });
  });  
</script>




data.feed.entry[EventNumeber]['gsx$event1.01']['$t']

這個部分是從json拆解出資料



  1. 接下來我們來探討'https://spreadsheets.google.com/feeds/list/YOUR_SPREADSHEET_ID/od6/public/values?alt=json' 這串網址的意義吧,這是google spreadsheet舊版的api,目前最新版的為v4,但json的功能似乎是被撤掉了,而且新版的擷取資料皆須要透過oauth驗證,就使用上來說有點不方便。
"od6"是google sheet中默認的worksheet(工作表)
如果在你的sheet中有多個工作表,他將會擷取你在編輯工作表時,看到的網址最後為"gid=0" 之工作表。
  1. 但是如果我想選擇的工作表不是默認的工作表,該怎麼辦呢?


你必須先輸入此段網址於瀏覽器
https://spreadsheets.google.com/feeds/worksheets/YOUR_SPREADSHEET_ID/private/full
你會得到一串很像亂碼的html文字,而這時你應該可以找到你的worksheet的名稱(如果懶得看直接ctrl+F搜尋吧)


找到名稱後,在找到旁邊的link連結,看起來應該像是這樣,
而下方工作表ID的位置,就是該工作表的ID

code
<title type='text'>工作表名稱</title>
<content type='text'>工作表名稱</content>
<link rel='http://schemas.google.com/spreadsheets/2006#listfeed' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/list/google sheet ID/工作表ID/private/full'/>




接著回到https://spreadsheets.google.com/feeds/list/YOUR_SPREADSHEET_ID/od6/public/values?alt=json
將剛剛找到的工作表ID取代原本的默認值od6


此串網址就可以連結到你想要的工作表啦!!
你可以先於瀏覽器中測試,如果未顯示"對 grid_id 無效的查詢參數值。",而是跳出json格式之檔案,就是成功啦
  1. 最後,可重複步驟2. ,完成資料的擷取。


後記:
為什麼需要用這麼複雜的步驟呢? 因為目前我在新版的google sheet 中完全找不到 "worksheet ID" 此項資料,所以目前就以此方法完成。
而於新版的google sheet v4 api中,也還在研究是否有json的擷取資料方式。
如果有發現新的方式或有任何人知道的話,請留言或私訊給我,我將整理完成後在Po新文章。




(以上皆為實際測試研究,如說明有誤請留言或私訊告知我,感謝 !)



參考資料:



Post a Comment

較新的 較舊