def update_campaign_name(self, fb_campaign_id, new_campaign_name, logger):
		""" Update fb campaign"""
		try:
			campaign = Campaign(str(fb_campaign_id))

			# You may read campaign field first, not necessary
			campaign.remote_read(fields=[
				Campaign.Field.id,
				Campaign.Field.status,
			])
			if campaign[Campaign.Field.status] == 'ARCHIVED':
				logger.error('cpid[%d] in ARCHIVED status, no update' % fb_campaign_id)
				return

			campaign.update({
				Campaign.Field.name: new_campaign_name,
			})
			campaign.remote_update()

		except Exception as e:
			logger.exception(e)
# Facebook.

# As with any software that integrates with the Facebook platform, your use
# of this software is subject to the Facebook Developer Principles and
# Policies [http://developers.facebook.com/policy/]. This copyright notice
# shall be included in all copies or substantial portions of the software.

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.

from examples.docs import fixtures

campaign_id = fixtures.create_campaign().get_id()

# _DOC open [ADCAMPAIGN_UPDATE]
# _DOC vars [campaign_id]
from facebookads.objects import Campaign

campaign = Campaign(campaign_id)

campaign[Campaign.Field.name] = 'New Name'
campaign.remote_update()
# _DOC close [ADCAMPAIGN_UPDATE]

campaign.remote_delete()