我正在使用google-api-ruby-client订阅Google日历的推送通知的Rails应用。我正在尝试使用CalendarService.stop_channel摆脱现有的频道,因此可以将其替换为更新的频道。问题是,stop_channel需要一个resource_id,但我不知道它是什么。
是否可以用其资源ID列出现有频道?
我尝试忽略resource_id参数,这会导致“必需”错误。我尝试放入任何字母字符串,但出现错误消息:
Channel '[my-channel-id]' not found for project '[a string of numbers that I don't recognize]'
这里是相关代码。大多数都在获得授权。我需要帮助的是底部的stop_channel调用。
# get access token
require 'googleauth'
require 'google/apis/calendar_v3'
calendar = Google::Apis::CalendarV3::CalendarService.new
scope = 'https://www.googleapis.com/auth/calendar'
authorizer = Google::Auth::ServiceAccountCredentials.make_creds(
json_key_io: File.open(ENV['GOOGLE_APPLICATION_CREDENTIALS']),
scope: scope)
calendar.authorization = authorizer
calendar.authorization.fetch_access_token!
calendar.stop_channel(Google::Apis::CalendarV3::Channel.new(
id: "my-channel-id",
resource_id: "whatever"
))
我如何找出要使用的resource_id?
[资源ID每次您开始重新观看事件时都会返回。