2015-06-03 4 views
0

У меня возникли трудности с вытягивать данные из таблицы GoogleИзвлечение данных из таблицы Google

я добавил следующие жемчужину файлы

gem 'roo' 
gem 'google_drive' 
gem 'google-spreadsheet-ruby' 

Моя работа файл требуется «сл» требуют «RubyGems '

def fetch_spreadsheet_data() 
    google_user = "MY EMAIL ADDRESS" 
    google_password = "MY PASSWORD" 

    workbook = Roo::Google.new("https://docs.google.com/spreadsheet/ccc?key=1hdwnrDsuJId1FLE0yWICYP1HGqYNu2NHH2IcoPyAzOQ#gid=0",user: google_user, password: google_password) 
    send_event('catchup_data', {current: s.cell('B',2) }) 
    send_event('Bounced_back', {current: s.cell('B',3)) 
end 


SCHEDULER.every '5m' do 
    fetch_spreadsheet_data() 
end 

Мой файл dashboard.erb имеет следующий HTML

<li data-row="2" data-col="3" data-sizex="1" data-sizey="1"> 
    <div data-id="bounce_back" data-view="Number" data-title="Triage - Work in Progress" style="background-color:#5AC352;"></div> 
    </li> 

<li data-row="2" data-col="4" data-sizex="1" data-sizey="1"> 
    <div data-id="catchup_data" data-view="Number" data-title="Squad catchup sessions last month" style="background-color:#DBA901;"></div> 
    </li> 

Не уверен, что я упускаю, что данные не приходит через. Кто-нибудь может мне помочь, пожалуйста!

ответ

0

Есть несколько вещей неправильно, что я могу видеть:

  1. Вы отправляете «Bounced_back», но связывающиеся с идентификатором «» bounce_back
  2. Вы пытаетесь получить данные из ячейки ' s 'but' s 'не определено

Посмотрите на документы Roo, я считаю, что вы скопировали' s 'оттуда. Чуть выше, они используют лист вместо этого, поэтому я считаю, что вам нужно взять лист из рабочей книги, прежде чем использовать его.

Я гугле немного и нашел это: http://etzelstorfer.com/en/dashing-graph-from-google-spreadsheet/

В целом, это должно работать для вас:

def fetch_spreadsheet_data() 
    google_user = "MY EMAIL ADDRESS" 
    google_password = "MY PASSWORD" 

    workbook = Roo::Google.new("https://docs.google.com/spreadsheet/ccc?key=1hdwnrDsuJId1FLE0yWICYP1HGqYNu2NHH2IcoPyAzOQ#gid=0",user: google_user, password: google_password) 
    s = workbook.sheets[0] # assuming first sheet in workbook 
    send_event('catchup_data', {current: s.cell('B',2) }) 
    send_event('bounce_back', {current: s.cell('B',3)) 
end 


SCHEDULER.every '5m' do 
    fetch_spreadsheet_data() 
end 
Смежные вопросы