Home  >  Article  >  Backend Development  >  Connection string causing problems

Connection string causing problems

WBOY
WBOYforward
2024-02-22 13:40:031037browse

Connection string causing problems

Question content

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.


Correct Answer


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!

Statement:
This article is reproduced at:stackoverflow.com. If there is any infringement, please contact admin@php.cn delete