Releases: facebook/facebook-python-business-sdk
Releases · facebook/facebook-python-business-sdk
Hourly Insights
- We added hourly stats to insights.
- Improved error message display slightly
- Bug fixes
Bug fixes!
- Added call_to_action_clicks to insights
build_objects_from_response
now checks if thedata
object in the response is alist
- Added
RateCard
subclass toAdAccount
app_id
andapp_secret
are no longer required inFacebookAdsApi.init
lifetime_impressions
added toAdSet
creative_sequence
now supportedget_ad_conversion_pixels
added forAdAccount
Pypi fix
Facebook Marketing API 2.3
- Video chunk uploader is now available
- New insights object is available in the SDK
- Fixed uploading zip files
- Added remote_save to the SDK (deprecated save, to be removed next major release)
- Added is_autobid to AdSet
Fixed instantiation of Lookalike Audience
- Fixed instantiation of Lookalike Audience object
- Added test ensuring all ACO objects can have the ID field
Fixed DPA Objects
Fixed a few minor issues with new DPA Objects
- id field missing in ProductAudience
- Fixed add_user/remove_user calls in ProductCatalog
DPA and Business Manager
- Added Business object
- Added DPA objects
- Added rf_prediction_id to AdSet
- Objects that can archive will POST status as delete instead of issuing a DELETE request
Adding more tests, new product features
- Added more integration tests
- Delete remote objects after tests run
- Fixed get_ad_images() failing
- Added CanValidate mixin for remote_validate() feature
- Fix printing nested AbstractObjects
Stability and cleanup
- Added thumbnail_url to AdCreative object
- Added AutoComplete object
- Added get_by_ids() method e.g.
AdSet.get_by_ids(ids=[123123,123123])
- Added the ability to define default account ID e.g.
FacebookAdsApi.set_default_account_id('act_123123')
- Python 3 and 2.6 dict comprehension compatibility (thanks @agriffis!)
- Failing tests fixed
- Fixed bug with ABSOLUTE_OCPM not supplying API with allcaps (as speced)
Bumped version to 2.2.2
- Calling
del object['key']
will correctly update the change history, thus removing the key as a parameter in API request. CanArchive
mixin has been added which allows campaigns, ad sets, and ad groups to be archived by callingremote_archive()
- Error handling has been much improved
try:
account = AdAccount('invalid-account-id')
account.remote_read()
except FacebookRequestError, e:
print e.api_error_message()
print e.api_error_code()
Check the exceptions.FacebookRequestError object for more method calls!
- Fixed
activities
endpoints. - You can now reference
EdgeIterator
objects as if they're arrays:
adgroups = account.get_ad_groups() # returns EdgeIterator object
print adgroups[0]
print adgroups[1]
- Calling
remote_update()
will now return a correctly updated object without having to callremote_read()
again. Note: This is optimistic-- we do not re-fetch the data.
adgroup = AdGroup(123123)
adgroup.remote_read(fields=['name'])
print adgroup['name'] # Outputs "Hello World"
adgroup['name'] = 'Changed Name'
print adgroup.remote_update()
Output:
<AdGroup> {
"name": "Changed Name"
}
CustomAudience
fields are now all defined- Examples for
CustomAudience
have been added.