Не удается выполнить setId () при вставке календаря (api календаря для java)

Я не могу сделать setId() при вставке календаря (Calendar api для java).

я получил ошибку:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request { "code": 400, "errors": [ { "domain": "global", "message": "Invalid resource id value.", "reason": "invalid" } ], "message": "Invalid resource id value." }

Мой код:

private fun insertCalendar(){
    object : Thread() {
        override fun run() {
            val calendar = com.google.api.services.calendar.model.Calendar()
                    .setSummary("Lich hoc ictu")
                    .setDescription("Lich hoc ictu")
                    .setTimeZone("Asia/Ho_Chi_Minh")
                    .setId("[email protected]")
            service.Calendars().insert(calendar).execute()
            runOnUiThread {
                Toast.makeText(this@MainActivity, "Added", Toast.LENGTH_LONG).show()
            }
        }
    }.start()

}
0
0
352
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Думаю, ответ на ваш вопрос здесь: https://stackoverflow.com/a/23799150/8713068

Таким образом, вы не можете установить свой собственный идентификатор, Google сделает это за вас.

Здесь у вас есть кое-что о получении идентификатора календарей: https://developers.google.com/calendar/v3/reference/calendars

Гм! Другое, мне нужно получить идентификатор календаря, как-нибудь сделать это?

mducc 30.10.2018 10:26

Во второй ссылке есть аннотация: id - string - Identifier of the calendar. To retrieve IDs call the calendarList.list() method., но я не уверен, что это правильный метод.

Karzel 31.10.2018 11:47

Спасибо! Я использовал calendarList.list (), ему не нужно устанавливать собственный идентификатор календаря

mducc 02.12.2018 01:03

Другие вопросы по теме