type Hangouts struct {
ContinuationEndTimestamp string `json:"continuation_end_timestamp"`
ConversationState []struct {
ConversationID struct {
ID string `json:"id"`
} `json:"conversation_id"`
ConversationState struct {
Conversation struct {
CurrentParticipant []struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"current_participant"`
ForceHistoryState string `json:"force_history_state"`
ForkOnExternalInvite bool `json:"fork_on_external_invite"`
GroupLinkSharingStatus string `json:"group_link_sharing_status"`
HasActiveHangout bool `json:"has_active_hangout"`
ID struct {
ID string `json:"id"`
} `json:"id"`
Name string `json:"name"`
NetworkType []string `json:"network_type"`
OtrStatus string `json:"otr_status"`
OtrToggle string `json:"otr_toggle"`
ParticipantData []struct {
FallbackName string `json:"fallback_name"`
ID struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"id"`
InvitationStatus string `json:"invitation_status"`
NewInvitationStatus string `json:"new_invitation_status"`
ParticipantType string `json:"participant_type"`
PhoneNumber struct {
E164 string `json:"e164"`
I18nData struct {
CountryCode int64 `json:"country_code"`
InternationalNumber string `json:"international_number"`
IsValid bool `json:"is_valid"`
NationalNumber string `json:"national_number"`
RegionCode string `json:"region_code"`
ValidationResult string `json:"validation_result"`
} `json:"i18n_data"`
} `json:"phone_number"`
} `json:"participant_data"`
ReadState []struct {
LatestReadTimestamp string `json:"latest_read_timestamp"`
ParticipantID struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"participant_id"`
} `json:"read_state"`
SelfConversationState struct {
ActiveTimestamp string `json:"active_timestamp"`
DeliveryMediumOption []struct {
CurrentDefault bool `json:"current_default"`
DeliveryMedium struct {
MediumType string `json:"medium_type"`
SelfPhone struct {
E164 string `json:"e164"`
I18nData struct {
CountryCode int64 `json:"country_code"`
InternationalNumber string `json:"international_number"`
IsValid bool `json:"is_valid"`
NationalNumber string `json:"national_number"`
RegionCode string `json:"region_code"`
ValidationResult string `json:"validation_result"`
} `json:"i18n_data"`
} `json:"self_phone"`
} `json:"delivery_medium"`
Primary bool `json:"primary"`
} `json:"delivery_medium_option"`
InviteTimestamp string `json:"invite_timestamp"`
InviterID struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"inviter_id"`
IsGuest bool `json:"is_guest"`
NotificationLevel string `json:"notification_level"`
SelfReadState struct {
LatestReadTimestamp string `json:"latest_read_timestamp"`
ParticipantID struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"participant_id"`
} `json:"self_read_state"`
SortTimestamp string `json:"sort_timestamp"`
Status string `json:"status"`
View []string `json:"view"`
} `json:"self_conversation_state"`
Type string `json:"type"`
} `json:"conversation"`
ConversationID struct {
ID string `json:"id"`
} `json:"conversation_id"`
Event []struct {
AdvancesSortTimestamp bool `json:"advances_sort_timestamp"`
ChatMessage struct {
Annotation []struct {
Type int64 `json:"type"`
Value string `json:"value"`
} `json:"annotation"`
MessageContent struct {
Attachment []struct {
EmbedItem struct {
Embeds_PlaceV2_placeV2 struct {
Address struct {
Embeds_PostalAddressV2_postalAddressV2 struct {
AddressCountry string `json:"address_country"`
AddressRegion string `json:"address_region"`
Name string `json:"name"`
StreetAddress string `json:"street_address"`
} `json:"embeds.PostalAddressV2.postal_address_v2"`
Type []string `json:"type"`
} `json:"address"`
ClusterID string `json:"cluster_id"`
Geo struct {
Embeds_GeoCoordinatesV2_geoCoordinatesV2 struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
} `json:"embeds.GeoCoordinatesV2.geo_coordinates_v2"`
Type []string `json:"type"`
} `json:"geo"`
Name string `json:"name"`
ReferenceID string `json:"reference_id"`
RepresentativeImage struct {
Embeds_ImageObjectV2_imageObjectV2 struct {
Height string `json:"height"`
URL string `json:"url"`
Width string `json:"width"`
} `json:"embeds.ImageObjectV2.image_object_v2"`
ID string `json:"id"`
Type []string `json:"type"`
} `json:"representative_image"`
URL string `json:"url"`
} `json:"embeds.PlaceV2.place_v2"`
Embeds_PlusAudioV2_plusAudioV2 struct {
AlbumID string `json:"album_id"`
Duration string `json:"duration"`
EmbedURL string `json:"embed_url"`
MediaKey string `json:"media_key"`
OwnerObfuscatedID string `json:"owner_obfuscated_id"`
PhotoID string `json:"photo_id"`
URL string `json:"url"`
} `json:"embeds.PlusAudioV2.plus_audio_v2"`
Embeds_PlusPhoto_plusPhoto struct {
AlbumID string `json:"album_id"`
DownloadURL string `json:"download_url"`
MediaType string `json:"media_type"`
OriginalContentURL string `json:"original_content_url"`
OwnerObfuscatedID string `json:"owner_obfuscated_id"`
PhotoID string `json:"photo_id"`
StreamID []string `json:"stream_id"`
Thumbnail struct {
HeightPx int64 `json:"height_px"`
ImageURL string `json:"image_url"`
URL string `json:"url"`
WidthPx int64 `json:"width_px"`
} `json:"thumbnail"`
URL string `json:"url"`
} `json:"embeds.PlusPhoto.plus_photo"`
Embeds_ThingV2_thingV2 struct {
Name string `json:"name"`
RepresentativeImage struct {
Embeds_ImageObjectV2_imageObjectV2 struct {
Height string `json:"height"`
URL string `json:"url"`
Width string `json:"width"`
} `json:"embeds.ImageObjectV2.image_object_v2"`
ID string `json:"id"`
Type []string `json:"type"`
} `json:"representative_image"`
URL string `json:"url"`
} `json:"embeds.ThingV2.thing_v2"`
ID string `json:"id"`
Type []string `json:"type"`
} `json:"embed_item"`
ID string `json:"id"`
} `json:"attachment"`
Segment []struct {
Formatting struct {
Bold bool `json:"bold"`
Italics bool `json:"italics"`
Strikethrough bool `json:"strikethrough"`
Underline bool `json:"underline"`
} `json:"formatting"`
LinkData struct {
DisplayURL string `json:"display_url"`
LinkTarget string `json:"link_target"`
} `json:"link_data"`
Text string `json:"text"`
Type string `json:"type"`
} `json:"segment"`
} `json:"message_content"`
} `json:"chat_message"`
ConversationID struct {
ID string `json:"id"`
} `json:"conversation_id"`
ConversationRename struct {
NewName string `json:"new_name"`
OldName string `json:"old_name"`
} `json:"conversation_rename"`
DeliveryMedium struct {
MediumType string `json:"medium_type"`
SelfPhone struct {
E164 string `json:"e164"`
} `json:"self_phone"`
} `json:"delivery_medium"`
EventID string `json:"event_id"`
EventOtr string `json:"event_otr"`
EventType string `json:"event_type"`
EventVersion string `json:"event_version"`
HangoutEvent struct {
EventType string `json:"event_type"`
HangoutDurationSecs string `json:"hangout_duration_secs"`
MediaType string `json:"media_type"`
ParticipantID []struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"participant_id"`
} `json:"hangout_event"`
MembershipChange struct {
LeaveReason string `json:"leave_reason"`
ParticipantID []struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"participant_id"`
Type string `json:"type"`
} `json:"membership_change"`
SelfEventState struct {
ClientGeneratedID string `json:"client_generated_id"`
NotificationLevel string `json:"notification_level"`
UserID struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"user_id"`
} `json:"self_event_state"`
SenderID struct {
ChatID string `json:"chat_id"`
GaiaID string `json:"gaia_id"`
} `json:"sender_id"`
Timestamp string `json:"timestamp"`
} `json:"event"`
EventContinuationToken struct {
EventTimestamp string `json:"event_timestamp"`
StorageContinuationToken string `json:"storage_continuation_token"`
} `json:"event_continuation_token"`
} `json:"conversation_state"`
ResponseHeader struct {
BuildLabel string `json:"build_label"`
ChangelistNumber int64 `json:"changelist_number"`
CurrentServerTime string `json:"current_server_time"`
DebugURL string `json:"debug_url"`
RequestTraceID string `json:"request_trace_id"`
Status string `json:"status"`
} `json:"response_header"`
} `json:"conversation_state"`
}