def build_youtube_resource(title, description, recording_date, coords=None, location_desc=None, tags=None, category=25,
                           privacy='unlisted', language='en'):
    """
    Build a YouTube video resource as per https://developers.google.com/youtube/v3/docs/videos.

    :param title:
    :param description:
    :param recording_date:
    :param coords:
    :param location_desc:
    :param tags:
    :param category: Default is 25, 'News & Politics'.
    :param privacy: public|private|unlisted
    :param language: 2-letter language code.
    """
    recording_details = {
        'recordingDate': recording_date.in_timezone('UTC').to_iso8601_string().replace('+00:00', '.0Z'),
    }
    if coords:
        recording_details['location'] = {
            'latitude': coords[0],
            'longitude': coords[1],
            'altitude': 0.0,
        }
    if location_desc:
        recording_details['locationDescription'] = location_desc

    return {
        'snippet': {
            'title': title,
            'description': description,
            'tags': tags if tags else [],
            'categoryId': category,
            'defaultLanguage': language,
            'defaultAudioLanguage': language,
        },
        'status': {
            'privacyStatus': privacy,
        },
        'recordingDetails': recording_details,
    }