mobolic / facebook-sdk

Python SDK for Facebook's Graph API
https://facebook-sdk.readthedocs.io/
Apache License 2.0
2.74k stars 952 forks source link

JSON-encode post args that are python dicts #88

Open rafitorres opened 11 years ago

rafitorres commented 11 years ago

Certain write operations in the Facebook API require post arguments that are JSON objects. Example: adgroup creation in the ads API (https://developers.facebook.com/docs/reference/ads-api/adgroup/#create) which expects certain objects such as conversion_specs, targeting, and tracking_specs.

When using put_object, if one passes a python dict as one of these arguments the call will fail with a "malformed JSON" or similar message. I got around it by doing a json.dumps() on each before passing them to put_object.

Don't know if the the library should handle this encoding or if it's out of scope, but FYI.

martey commented 10 years ago

108 describes a similar issue to this. As I wrote in the comments there, I think changing the library to use Python dictionaries directly (instead of args and kwargs) makes sense.