I'm having some weird issues related to connection strings in python. We have a requirement to connect to external data sources via API and extract data. When connecting through the api, we need to pass various credentials as a string as part of the raw_data as shown in the example below (this is not the actual credentials but serves as an example).
raw_data = 'client_id=jwelpoc1xar4nkldtaxswgtzjsq5fso2dghxtr&user_id=dfgrwsaq&company_id=xyzcomp&token_url=https://test.xyz.link.com/successfactors/oauth/token?grant_type=client_credentials&private_key=fg2asddffgjjhhmmdkfwqhdbd5cfsnvvddghhhbfghsf3f6sdffghhgjd45dtg4sghjddf6fg'
The following is the api command I use to connect to the api
response = requests.get(url=api_url, headers=headers, data=**raw_data**)
Now when I write the code like this it works fine without any issues. However, it doesn't work when I retrieve the credentials from secret manager and build raw_data after saving to different variables and then concatenating to form a string.
client_id = secret["sf"]["client_id"] company_id = secret["sf"]["company_id"] user_id = secret["sf"]["user_id"] private_key = secret["sf"]["private_key"] raw_data = "'client_id={}&user_id={}&company_id={}&token_url={}&private_key={}'".format(client_id, user_id, company_id, token_url, private_key)
If I print the raw_data variable after connecting, it shows the exact same string, but this way I can't connect.
So I'd like to understand if the concatenation is using the actual meaning of the special characters in the string, causing the problem.
I have used other methods to concatenate these variables but all throw the same error.
Please advise.
You did not form the same string, you added the extra single quotes:
↓ ↓ "'client_id=...ghjddf6fg'"
You are most likely to use:
raw_data = 'client_id={}&user_id={}&company_id={}&token_url={}&private_key={}'.format(client_id, user_id, company_id, token_url, private_key)
The above is the detailed content of Connection string causing problems. For more information, please follow other related articles on the PHP Chinese website!