Skip to content

Commit 2589eb7

Browse files
committed
refresh google auth as we go so token doesn't timeout for >1hr imports
1 parent 9eeff31 commit 2589eb7

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

  • lib/plausible/google/ga4

lib/plausible/google/ga4/api.ex

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,18 @@ defmodule Plausible.Google.GA4.API do
7979
"[#{inspect(__MODULE__)}:#{property}] Starting import from #{date_range.first} to #{date_range.last}"
8080
)
8181

82-
with {:ok, access_token} <- Google.API.maybe_refresh_token(auth) do
83-
do_import_analytics(date_range, property, access_token, persist_fn, resume_opts)
84-
end
82+
do_import_analytics(date_range, property, auth, persist_fn, resume_opts)
8583
end
8684

87-
defp do_import_analytics(date_range, property, access_token, persist_fn, [] = _resume_opts) do
85+
defp do_import_analytics(date_range, property, auth, persist_fn, [] = _resume_opts) do
8886
Enum.reduce_while(GA4.ReportRequest.full_report(), :ok, fn report_request, :ok ->
8987
Logger.debug(
9088
"[#{inspect(__MODULE__)}:#{property}] Starting to import #{report_request.dataset}"
9189
)
9290

93-
report_request = prepare_request(report_request, date_range, property, access_token)
91+
with {:ok, access_token} <- Google.API.maybe_refresh_token(auth) do
92+
report_request = prepare_request(report_request, date_range, property, access_token)
93+
end
9494

9595
case fetch_and_persist(report_request, persist_fn: persist_fn) do
9696
:ok -> {:cont, :ok}
@@ -99,7 +99,7 @@ defmodule Plausible.Google.GA4.API do
9999
end)
100100
end
101101

102-
defp do_import_analytics(date_range, property, access_token, persist_fn, resume_opts) do
102+
defp do_import_analytics(date_range, property, auth, persist_fn, resume_opts) do
103103
dataset = Keyword.fetch!(resume_opts, :dataset)
104104
offset = Keyword.fetch!(resume_opts, :offset)
105105

@@ -117,10 +117,12 @@ defmodule Plausible.Google.GA4.API do
117117
0
118118
end
119119

120-
report_request =
121-
report_request
122-
|> prepare_request(date_range, property, access_token)
123-
|> Map.put(:offset, request_offset)
120+
with {:ok, access_token} <- Google.API.maybe_refresh_token(auth) do
121+
report_request =
122+
report_request
123+
|> prepare_request(date_range, property, access_token)
124+
|> Map.put(:offset, request_offset)
125+
end
124126

125127
case fetch_and_persist(report_request, persist_fn: persist_fn) do
126128
:ok -> {:cont, :ok}

0 commit comments

Comments
 (0)