client_secrets.json. Where am I supposed to get that?
You can use your developer console's credentials tab. Client IDs will be listed there (if generated already) or create a new one as shown below. You can then download it (client_secrets.json file).

I've seen the API documentation where you should avoid disclosing the
secrets
You must not expose sensitive information as it posses high security risk. As it is not clear on how you are aiming to implement it, generally, you cannot protect your secrets if you embedded it into your application. If compromised, attacker can impersonate your client.
OAuth
outline various authorization flows
that can be adopted to suit your need. For example, your questions suggest that you are using OAuth code flow and this is where client secrets comes into picture. However, there are other flows, one of them is OAuth Implicit flow which doesn't require you to supply client credential. In the Implicit flow
, there is no client secret and once a user authenticate with OAuth2 provider, the client will receive the access token to proceed with. You can read more about Implicit Flow the original spec.
I think, you should make yourself knowledgeable on the topic and then follow proposed implementation style while keeping type of client as focal point.
Note: The urls referenced on flows are ONLY to guide you on the topic; and must be researched further for better understanding.