Skrypt Google Apps zwraca pożądany wynik w dzienniku wykonania, ale komórka w arkuszu kalkulacyjnym jest pusta

0

Pytanie

W tym arkuszu skrypt aplikacji zwraca poprawny wynik, gdy go uruchamiam, magazyn wykonać poprawnie zwraca "202000.0".

Jednak, gdy uruchamiam skrypt w komórce (zaznaczony na pomarańczowo w związanej arkuszu kalkulacyjnym), komórka jest pusta, czy ktoś przypadkiem wie, jak to naprawić?

Kod skryptu aplikacji:

function fullTimeEmployees(url) {
  var url = 'https://finance.yahoo.com/quote/WBA/profile'
  var source = UrlFetchApp.fetch(url).getContentText()
  var jsonString = source.match(/root.App.main = ([\s\S\w]+?);\n/)
  if (!jsonString || jsonString.length == 1) return;
  var data = JSON.parse(jsonString[1].trim())
  Logger.log(data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.fullTimeEmployees)
}

Ponadto, czy ktoś wie, co mogę zmienić .Pełny etat (w końcu), aby oddał pełna nazwa firmy? jak pokazano na rysunku tutaj, podświetlone na zielono company name section

1

Najlepsza odpowiedź

1

Odpowiedź na pytanie 1:

Jednak, gdy uruchamiam skrypt w komórce (zaznaczony na pomarańczowo w związanej arkuszu kalkulacyjnym), komórka jest pusta, czy ktoś przypadkiem wie, jak to naprawić?

W swoim scenariuszu wartość nie podlega zwrotowi. W tym przyczyna twojego problemu. Więc proszę, zmień swój skrypt w następujący sposób.

function fullTimeEmployees(url) {
  var url = 'https://finance.yahoo.com/quote/WBA/profile'
  var source = UrlFetchApp.fetch(url).getContentText()
  var jsonString = source.match(/root.App.main = ([\s\S\w]+?);\n/)
  if (!jsonString || jsonString.length == 1) return;
  var data = JSON.parse(jsonString[1].trim())
  Logger.log(data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.fullTimeEmployees)
  return data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.fullTimeEmployees; // Added
}

Odpowiedź na pytanie 2:

Ponadto, czy ktoś wie, co mogę zmienić .Pełny etat (w końcu), aby oddał pełna nazwa firmy? jak pokazano na rysunku tutaj, podświetlone na zielono

W tym przypadku, co zmienić w następujący sposób?

Od:

data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.fullTimeEmployees

Dla:

data.context.dispatcher.stores.QuoteSummaryStore.price.shortName
  • Wartość tego jest Walgreens Boots Alliance, Inc..
2021-11-23 23:59:44

Masz absolutna gwiazda!! Szczerze nie mogę ci dziękować, jako początkujący w programowaniu, spędziłem wiele godzin, próbując osiągnąć ostateczny cel, więc naprawdę doceniam waszą pomoc w tym, aby w końcu dotrzeć do jej.
DarkWingDuck

@DarkWingDuck Dziękuję, że odpowiedzieliście i przetestowane. Cieszę się, że twój problem został rozwiązany. I tobie też dziękuję.
Tanaike

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................