Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot get camp list using service account #240

Open
ubervison opened this issue Oct 7, 2022 · 1 comment
Open

Cannot get camp list using service account #240

ubervison opened this issue Oct 7, 2022 · 1 comment

Comments

@ubervison
Copy link

Hallo zäme,

With personal API tokens being deprecated, I wanted to switch to using service accounts to access camp and participants data. With my personal API token, I can get camp and events list just fine using the REST API, which allows me to then get participation data.

Using a service account token, I can access an individual person's information from the REST API, if that person is part of the group the service account was created for. I can also access an individual event's information, as well as this event's participation list. Finally, I can access the list of event of type simple for a particular group.

However, when trying to get a particular group's list of events of type camp, I get the following response :

{
    "email": null,
    "password": null
}

This behavior concerns URLs of the form /groups/:group_id/events/camp.json.

By contrast, accessing the list of events of a simple type gives the expected response, as for this request for event of simple type at the Group level : https://db.scout.ch/fr/groups/GROUP_ID/events/simple.json or https://db.scout.ch/fr/groups/GROUP_ID/events.json

{
    "current_page": 1,
    "total_pages": 1,
    "next_page_link": null,
    "prev_page_link": null,
    "events": [
        {
            "id": "****",
            "type": "events",
            "name": "Week-end d'unité",
            "description": null,
            "motto": "",
            "cost": "",
            "maximum_participants": null,
            "participant_count": 38,
            "location": "*****",
            "application_opening_at": null,
            "application_closing_at": null,
            "application_conditions": null,
            "state": null,
            "teamer_count": 6,
            "required_contact_attrs": [],
            "hidden_contact_attrs": [],
            "external_application_link": "https://db.scout.ch/fr/groups/****/public_events/*****",
            "links": {
                "dates": [
                    "****"
                ],
                "groups": [
                    "****"
                ]
            },
            "tags": []
        }
    ],
    "linked": {
        "event_dates": [
            {
                "id": "****",
                "label": "",
                "start_at": "******",
                "finish_at": "*****",
                "location": "******"
            }
        ],
        "groups": [
            {
                "id": "*****",
                "href": "https://db.scout.ch/fr/groups/****.json",
                "group_type": "*****",
                "layer": false,
                "name": "******o",
                "short_name": "",
                "email": "*****",
                "links": {
                    "contact": "**",
                    "parent": "*****",
                    "layer_group": "****",
                    "hierarchies": [
                        "2",
                        "****",
                        "****",
                        "****"
                    ],
                    "children": [
                        .....
                    ]
                },
                "pbs_shortname": null,
                "website": "****o",
                "bank_account": "*******",
                "description": [....]",
                "available_roles": [
                    {
                        "name": "Responsable d'unité",
                        "role_class": "Group::Woelfe::Einheitsleitung"
                    },
                    {
                        "name": "Responsable adjoint·e",
                        "role_class": "Group::Woelfe::Mitleitung"
                    },
                    {
                        "name": "Administrateur·trice des adresses",
                        "role_class": "Group::Woelfe::Adressverwaltung"
                    },
                    {
                        "name": "Responsable de sizaine",
                        "role_class": "Group::Woelfe::Leitwolf"
                    },
                    {
                        "name": "Louveteau·ette",
                        "role_class": "Group::Woelfe::Wolf"
                    }
                ]
            },
            {
                "id": "*****",
                "name": "****",
                "group_type": "groupe"
            },
            {
                "id": "****",
                "name": "*****",
                "group_type": "Groupe"
            },
            {
                "id": "2",
                "name": "Pfadibewegung Schweiz",
                "group_type": "Niveau fédéral"
            },
            {
                "id": "*****",
                "name": "****",
                "group_type": "Association cantonale"
            },
            {
                "id": "****",
                "name": "*****",
                "group_type": "Louveteau·ette"
            },
            {
                "id": "****",
                "name": "******",
                "group_type": "Louveteau·ette"
            },
            {
                "id": "*****",
                "name": "*****",
                "group_type": "Louveteau·ette"
            },
            {
                "id": "****",
                "name": "*****",
                "group_type": "Louveteau·ette"
            },
            {
                "id": "*****",
                "name": "*****",
                "group_type": "Louveteau·ette"
            },
            {
                "id": "*****",
                "name": "****",
                "group_type": "Louveteau·ette"
            }
        ],
        "people": [
            {
                "id": "****",
                "first_name": "****",
                "last_name": "****",
                "nickname": "****",
                "company_name": null,
                "company": false,
                "email": "*********@***.**",
                "address": "****",
                "zip_code": "***",
                "town": "****",
                "country": null
            }
        ]
    },
    "links": {
        "groups.contact": {
            "href": "https://db.scout.ch/fr/groups/{groups.id}/people/{groups.contact}.json",
            "type": "people"
        },
        "groups.parent": {
            "href": "https://db.scout.ch/fr/groups/{groups.parent}.json",
            "type": "groups"
        },
        "groups.layer_group": {
            "href": "https://db.scout.ch/fr/groups/{groups.layer_group}.json",
            "type": "groups"
        },
        "groups.hierarchy": {
            "href": "https://db.scout.ch/fr/groups/{groups.hierarchy}.json",
            "type": "groups"
        },
        "groups.children": {
            "href": "https://db.scout.ch/fr/groups/{groups.children}.json",
            "type": "groups"
        },
        "groups.people": {
            "href": "https://db.scout.ch/fr/groups/{groups.id}/people.json",
            "type": "people"
        }
    }
}

I use redacted queries and responses for my own group because I could not find a current service API key for the test instance, apologies for the eyesore.

Thank you !

@Michael-Schaer
Copy link
Contributor

Hi @ubervison

Thanks for the feedback!

The endpoint isn't working in the test instance as well, even with all scopes activated for the token:
image

This looks like a bug to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants