let
GetCounts = (URL as text)=>
let
//Define Wait function
Wait = (seconds as number, action as function) =>
if (List.Count(
List.Generate(
() => DateTimeZone.LocalNow() + #duration(0,0,0,seconds),
(x) => DateTimeZone.LocalNow() < x,
(x) => x)
) = 0)
then null else action(),
//Pause x seconds between calls
Pause = Wait(.25,DateTime.LocalNow),
//Request data from URL
Source = Json.Document(Web.Contents("https://free.sharedcount.com/url?apikey=myapikey&url="&URL&""))
in
Source
in
GetCounts
(URL as text)=>
Function.InvokeAfter(
()=>Json.Document(Web.Contents("https://free.sharedcount.com/url?apikey=myapikey&url="&URL&"")),
#duration(0,0,0,2))