{"id":18015453,"url":"https://github.com/andreas/podio-go","last_synced_at":"2025-07-27T14:07:28.323Z","repository":{"id":15846552,"uuid":"18586664","full_name":"andreas/podio-go","owner":"andreas","description":"Client for podio.com written in Go","archived":false,"fork":false,"pushed_at":"2019-03-17T09:51:10.000Z","size":52,"stargazers_count":4,"open_issues_count":4,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-27T14:04:13.360Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-09T05:45:39.000Z","updated_at":"2023-11-23T15:11:03.000Z","dependencies_parsed_at":"2022-09-24T05:00:35.776Z","dependency_job_id":null,"html_url":"https://github.com/andreas/podio-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreas/podio-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreas%2Fpodio-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreas%2Fpodio-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreas%2Fpodio-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreas%2Fpodio-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreas","download_url":"https://codeload.github.com/andreas/podio-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreas%2Fpodio-go/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267368928,"owners_count":24076092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T04:13:57.838Z","updated_at":"2025-07-27T14:07:28.281Z","avatar_url":"https://github.com/andreas.png","language":"Go","readme":"Client for [Podio](https://podio.com) written in Go.\n\n## Example\n\n```go\nfunc main() {\n  authToken, err := podio.AuthWithUserCredentials(\"my-client-id\", \"my-client-secret\", \"my-username\", \"my-password\")\n\n  if err != nil {\n    fmt.Println(\"Auth failed: \", err)\n    return\n  }\n\n  client := podio.NewClient(authToken)\n  orgs, err := client.GetOrganizations()\n\n  if err != nil {\n    fmt.Println(\"Failed to get orgs: \", err)\n    return\n  }\n\n  for _, org := range orgs {\n    fmt.Println(\"Org: \", org.Name)\n  }\n}\n```\n\nSee [example/main.go](example/main.go).\n\n## Item Field Values\n\nThe values of an item field depend on the type of the field. As such, the type of `Field.Values` is `interface{}` and must be coerced to access. The mapping from field types to values are as follows:\n\n- `app`: `[]AppValue`\n- `date`: `[]DateValue`\n- `text`: `[]TextValue`\n- `number`: `[]NumberValue`\n- `image`: `[]ImageValue`\n- `member`: `[]MemberValue`\n- `contact`: `[]ContactValue`\n- `money`: `[]MoneyValue`\n- `progress`: `[]ProgressValue`\n- `location`: `[]LocationValue`\n- `video`: `[]VideoValue`\n- `duration`: `[]DurationValue`\n- `embed`: `[]EmbedValue`\n- `question`: `[]QuestionValue`\n- `category`: `[]CategoryValue`\n- `tel`: `[]TelValue`\n- `calculation`: `[]CalculationValue`\n\nCoercing `Field.Values` safely can be done with a `switch` on `Field.Type` using the above mapping, or a type switch on `Field.Values`:\n\n```go\n// Example 1\nswitch field.Type {\ncase \"app\":\n  for _, appVal := range field.Values.([]AppValue) {\n    fmt.Println(appVal.Value.AppItemId)\n  }\ncase \"date\":\n  // etc\n}\n\n// Example 2\nswitch values := field.Values.(type) {\ncase []AppValue:\n\tfor _, appVal := range values {\n\t\tfmt.Println(values[0].Value.AppItemId)\n\t}\ncase []DateValue:\n  // etc\n}\n```\n\n## Status\n\n- The client supports authentication with username and password (see [Username and Password flow](https://developers.podio.com/authentication/username_password)), app authentication (see [App authentication flow](https://developers.podio.com/authentication/app_auth)) and server-side flow (see [Server-side flow](https://developers.podio.com/authentication/server_side)).\n- Only supports a fraction of the API methods available, specifically around organizations, spaces, apps, items and files.\n- Only a few number of fields have been defined per type.\n\n## Contributors\n\nThe following people have contributed to podio-go:\n\n- andreas\n- stengaard\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreas%2Fpodio-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreas%2Fpodio-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreas%2Fpodio-go/lists"}