Hello, I have made the post at the first time , thank you.
I'd like to make the weekly report of the activities by the python API.
I wrote the code below:
import datetime as dt
seven_days_ago = dt.datetime.now(dt.timezone.utc) - dt.timedelta(days=7)
def makeReport():
global item
user = my_gis.users.me
#run on Monday morning
item = user.report("activity",
start_time=seven_days_ago,
duration="weekly")
#run the programming function
makeReport()
and then, I got the error below:
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
Cell In[5], line 3
1 #原稿のarcgis for python api では返り値がなく、エラーを出す。ライブラリ自体も独自に修正している。
2 #レポート作成関数の実行
----> 3 makeReport()
Cell In[4], line 6, in makeReport()
4 user = my_gis.users.me
5 #毎週月曜日に実行する。
----> 6 item = user.report("activity",
7 start_time=seven_days_ago,
8 duration="weekly")
File ~/miniforge3/envs/jnote03/lib/python3.8/site-packages/arcgis/gis/__init__.py:10474, in User.report(self, report_type, start_time, duration)
10462 params = {
10463 "f": "json",
10464 "reportType": "org",
(...)
10467 "startTime": start_time,
10468 }
10470 url = "%s/sharing/rest/community/users/%s/report" % (
10471 self._gis._url,
10472 self._user_id,
10473 )
> 10474 res = self._gis._con.post(url, params)
10475 time.sleep(2)
10476 try:
File ~/miniforge3/envs/jnote03/lib/python3.8/site-packages/arcgis/gis/_impl/_con/_connection.py:1557, in Connection.post(self, path, params, files, **kwargs)
1555 if return_raw_response:
1556 return resp
-> 1557 return self._handle_response(
1558 resp=resp,
1559 out_path=out_path,
1560 file_name=file_name,
1561 try_json=try_json,
1562 force_bytes=kwargs.pop("force_bytes", False),
1563 )
File ~/miniforge3/envs/jnote03/lib/python3.8/site-packages/arcgis/gis/_impl/_con/_connection.py:1027, in Connection._handle_response(self, resp, file_name, out_path, try_json, force_bytes, ignore_error_key)
1023 return data
1024 errorcode = (
1025 data["error"]["code"] if "code" in data["error"] else 0
1026 )
-> 1027 self._handle_json_error(data["error"], errorcode)
1028 return data
1029 else:
File ~/miniforge3/envs/jnote03/lib/python3.8/site-packages/arcgis/gis/_impl/_con/_connection.py:1052, in Connection._handle_json_error(self, error, errorcode)
1047 # _log.error(errordetail)
1049 errormessage = (
1050 errormessage + "\n(Error Code: " + str(errorcode) + ")"
1051 )
-> 1052 raise Exception(errormessage)
Exception: Invalid startTime. Weekly report must start from Sunday or Monday.
(Error Code: 400)
I thought the reason the error is which the day of the week in the start_time , so i changed the number of the days , 7 ~ 9 days .but , i could not get the weekly report.
seven_days_ago = dt.datetime.now(dt.timezone.utc) - dt.timedelta(days=7)
I hope to make the report by python API.
thanks , a lot
Masaaki