facebook / facebook-python-business-sdk

Python SDK for Meta Marketing APIs
https://developers.facebook.com/docs/business-sdk
Other
1.28k stars 631 forks source link

Make curl debug output more user friendly #557

Open danihodovic opened 4 years ago

danihodovic commented 4 years ago

The curl output helps when debugging requests made to the FB API.

However it's not as user friendly as it should be because it retrieves gzipped content which can't immediately be displayed when running the curl command in the terminal. See the below post by the curl maintainer on why binary output is no longer displayed in stdout by default.

https://daniel.haxx.se/blog/2017/06/17/curl-doesnt-spew-binary-anymore/

Instead of displaying binary output I force the API to return uncompressed JSON which can immediately be displayed when running the command. See the below two examples.

Without this patch:

$ curl -X GET -H 'Accept: application/json' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: fbbizsdk-python-v5.0.1' 'https://graph.facebook.com/v5.0/me/adaccounts?access_token=xxxxxx&summary=true'
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.

With this patch:

$ curl -X GET -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'User-Agent: fbbizsdk-python-v5.0.1' 'https://graph.facebook.com/v5.0/me/adaccounts?access_token=xxxxxx&summary=true'
{"data":[{"account_id":"abc","id":"act_abc"},"summary":{"total_count":1}}
facebook-github-bot commented 4 years ago

Hi danihodovic! Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file.In order for us to review and merge your code, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

facebook-github-bot commented 4 years ago

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!