Skip to content

Releases: facebook/facebook-python-business-sdk

Fixed DPA Objects

03 Mar 01:37
Compare
Choose a tag to compare

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

17 Feb 17:53
Compare
Choose a tag to compare
  • 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

24 Jan 00:24
Compare
Choose a tag to compare
  • 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

12 Dec 19:09
Compare
Choose a tag to compare
  • 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

21 Nov 16:40
Compare
Choose a tag to compare
  • 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 calling remote_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 call remote_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.

Quality of life improvements and bug fixes

07 Nov 22:06
Compare
Choose a tag to compare
  • You can now optionally specify an access token inside your config.json to make it easier to run tests.
  • Object collections are friendlier to native python functions: print adaccount_object or print len(adaccount.get_ad_groups()) will behave as expected and not spit out random strings
  • You can also now call .total() on object collections: print adaccount.get_ad_groups().total() will output total number of ad groups for that account (not just what's in the array)
  • Pagination has been tweaked, pagination can be done with the following code:
    adgroups = account.get_ad_groups(fields=['name'])
while True:
    for adgroup in adgroups:
        print adgroup['name']
        if not adgroups.load_next_page():
            break
  • Fixed method calls for endpoints that did not return cursor-friendly responses: get_conversion_stats() or get_stats() (which just return JSON objects).

Releasing version to 2.2.0

30 Oct 20:36
Compare
Choose a tag to compare
  • Added changes for Custom Audiences
  • Added support for Reach Frequency Predictions
  • Some code organization

Fixed install regression caused by 0.2.1 README change

28 Oct 00:53
Compare
Choose a tag to compare
Merge pull request #9 from bensigelman/master

detect file presence correctly

Fixed installation using pip

26 Oct 01:02
Compare
Choose a tag to compare
Pre-release
  • pip install relying on old README file fixed

Adding more parity with PHP SDK

23 Oct 18:17
Compare
Choose a tag to compare
Pre-release
  • Added ObjectStorySpec and specs module
  • Moved integration tests to their own file
  • Added ValidatesFields mixin
  • Added bootstrap.auth() function to make using REPL easier
  • Deprecated remote_create_with_filename
  • Deprecated AbstractObject child method
  • Renamed _read_update() to _set_data()