Python 名称错误:名称';账户';没有定义

Python 名称错误:名称';账户';没有定义,python,facebook,facebook-graph-api,facebook-marketing-api,Python,Facebook,Facebook Graph Api,Facebook Marketing Api,我无法从github获得示例代码。我更新了导入,但仍然得到: 回溯(最近一次呼叫最后一次): 文件“test.py”,第34行,在 我的账户=账户。获取我的账户() NameError:未定义名称“AdAccount” 从facebookads.session导入FacebookSession 从facebookads导入FacebookAdsApi 从facebookads.adobjects.helpers导入* 从facebookads.adobjects导入* 导入广告创建工具 导入js

我无法从github获得示例代码。我更新了导入,但仍然得到:

回溯(最近一次呼叫最后一次): 文件“test.py”,第34行,在 我的账户=账户。获取我的账户() NameError:未定义名称“AdAccount”

从facebookads.session导入FacebookSession
从facebookads导入FacebookAdsApi
从facebookads.adobjects.helpers导入*
从facebookads.adobjects导入*
导入广告创建工具
导入json
导入操作系统
this\u dir=os.path.dirname(\u文件\u)
config\u filename=os.path.join(此目录为'config.json')
配置文件=打开(配置文件名)
config=json.load(配置文件)
config_file.close()
###设置会话和api对象
会话=facebook会话(
配置['app_id'],
配置['app_secret'],
配置['access_token'],
)
api=FacebookAdsApi(会话)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
FacebookAdsApi.set\u default\u api(api)
#获取我的帐户(与关联的用户关联的第一个帐户)
#默认api的会话)
我的账户=账户。获取我的账户()
打印(“****正在创建广告…”)
#创建我的广告
my_ad=ad_creation_utils.create_website_clicks_ad(
账户=我的账户,
name=“参观西雅图”,
国家(美国),
title=“参观西雅图”#外观如何
body=“美丽的普吉特声音。”,
url=”http://www.seattle.gov/visiting/",
image\u path=os.path.join(
os.path.dirname(_文件__),
帕迪尔先生,
'image.png'
),
投标类型=AdSet.BidType.cpm,
出价信息={AdSet.Field.BidInfo.impressions:53},#0.53美元/千
每日预算=1000,#每天10.00美元
年龄_min=13岁,
年龄_max=65,
paused=True,#默认值为False,但让我们暂停此测试广告
)
打印('****完成!')
#获取预览并编写html文件
预览=我的广告。获取广告预览(参数={
AdPreview.Field.ad_格式:AdPreview.AdFormat.right_column_标准
})
preview\u filename=os.path.join(此目录为“preview\u ad.html”)
预览文件=打开(预览文件名“w”)
preview\u file.write(
“Facebook广告预览%s”
%preview.get_html()
)
预览_文件。关闭()
打印('**%s已创建!'%preview\u文件名)

如果您是从GitHub获得此代码的,您可能需要仔细检查它在任何地方的工作情况。因为,很明显,
AdAccount
没有在您显示的代码中的任何地方声明。这是来自。。。导入*被认为是危险的。。。如果您显式导入了
AdAccount
,它显然已经被导入了。如果您忘记显式导入
AdAccount
,这一点也很明显。事实上,如果不阅读至少两个其他文件,没有人能判断您是否导入了名称
AdAccount
。我修复了导入。他们在不更新文档和示例代码的情况下更改了库
从facebookads.adobjects.adaccount从facebookads.adobjects.adset导入adset从facebookads.adobjects.ad从facebookads.adobjects.adpreview导入adpreview从facebookads.session导入facebookads会话从facebookads导入FacebookAdsApi
但是现在我得到了这个错误:文件“test.py”,第55行,在bid_type=AdSet.BidType.cpm中,AttributeError:type对象“AdSet”没有属性“BidType”@TityBoi:您应该将该注释作为答案发布。在堆栈溢出时,允许您执行和(可能在等待一段时间后)。相比之下,你应该将你的新错误作为新问题发布。。。在第一次验证它与API更改无关之后。(如果您能找到一个更新的示例,您可能还想放弃Git Hub代码以获得一个更新的示例。)
from facebookads.session import FacebookSession
from facebookads import FacebookAdsApi
from facebookads.adobjects.helpers import *
from facebookads.adobjects import *

import ad_creation_utils
import json
import os

this_dir = os.path.dirname(__file__)
config_filename = os.path.join(this_dir, 'config.json')

config_file = open(config_filename)
config = json.load(config_file)
config_file.close()

### Setup session and api objects
session = FacebookSession(
    config['app_id'],
    config['app_secret'],
    config['access_token'],
)
api = FacebookAdsApi(session)

if __name__ == '__main__':
    FacebookAdsApi.set_default_api(api)

    # Get my account (first account associated with the user associated with the
    #                 session of the default api)
    my_account = AdAccount.get_my_account()

    print('**** Creating ad...')

    # Create my ad
    my_ad = ad_creation_utils.create_website_clicks_ad(
        account=my_account,

        name="Visit Seattle",
        country='US',

        title="Visit Seattle",                             # How it looks
        body="Beautiful Puget Sound.",
        url="http://www.seattle.gov/visiting/",
        image_path=os.path.join(
            os.path.dirname(__file__),
            os.pardir,
            'image.png'
        ),

        bid_type=AdSet.BidType.cpm,
        bid_info={AdSet.Field.BidInfo.impressions: 53},  # $0.53 / thousand
        daily_budget=1000,  # $10.00 per day

        age_min=13,
        age_max=65,

        paused=True,  # Default is False but let's keep this test ad paused
    )
    print('**** Done!')

    # Get the preview and write an html file
    preview = my_ad.get_ad_preview(params={
        AdPreview.Field.ad_format: AdPreview.AdFormat.right_column_standard
    })
    preview_filename = os.path.join(this_dir, 'preview_ad.html')
    preview_file = open(preview_filename, 'w')
    preview_file.write(
        "<html><head><title>Facebook Ad Preview</title><body>%s</body></html>"
        % preview.get_html()
    )
    preview_file.close()
    print('**** %s has been created!' % preview_filename)