AttributeError:“ str”对象的Google Analytics分析API没有属性“ Storage”存储

问题描述

我建立了一个Google Analytics(分析)API,该API从单独帐户中的多个Google Analytics(分析)视图中提取数字或维度和指标。我的代码本质上是遍历excel文档并确定要选择哪个视图,并使用它需要从字典中获取的相应.dat文件凭据。奇怪的是,它适用于文档中的第一个视图,但是无论该行中列出的内容如何,​​一旦到达下一个视图都将失败。我不断收到错误消息...

存储=文件。Storage(stor_str)

AttributeError:“ str”对象没有属性“ Storage”

希望这里是我代码的相关部分以供参考(请让我知道我是否缺少任何内容)...

lz = zip(LI,DN,VI,V,DA,S,D)
sd = '2020-08-01'
ed = '2020-08-31'

parser = argparse.ArgumentParser(
      formatter_class=argparse.RawDescriptionHelpformatter,parents=[tools.argparser])
flags = parser.parse_args([])

flow = client.flow_from_clientsecrets(
     CLIENT_SECRETS_PATH,scope=ScopES,message=tools.message_if_missing(CLIENT_SECRETS_PATH))

dFI = {'DP7': 'aRSSeven.dat','DP6': 'aRSSix.dat','DP4': 'arsfour.dat','DP0': 'arszero.dat'}

gaDO = []

def getGADO(VI,sd,ed):
    l = vi_start + str(int(VI))
    response = analytics.reports().batchGet(
            body={
            'reportRequests': [
            {
                'viewId': l,'dateranges': [{'sd': sd,'ed': ed}],'metrics': [
                    {'expression': 'ga:users'},{'expression': 'ga:avgSessionDuration'}
                    ],'dimensions': [
                    {'name': 'ga:channelGrouping'}
                    ]
            }]}).execute()
    report_list = response.get('reports')
    for report in report_list:
        data_rows = report.get('data',{}).get('rows',[])
        for row in data_rows:
            dimensions_in_row = row.get('dimensions')
            metrics_rows = row.get('metrics')
            for metrics in metrics_rows:
                metrics_values = metrics.get('values')
                full_row_data = dimensions_in_row + metrics_values
                gaDO.append(full_row_data)

    gaDON = []
    for i in gaDO:
        new_tuple = []
        new_tuple.append(i[0])
        new_tuple.append(int(i[1]))
        new_tuple.append(float(i[2]))
        gaDON.append(tuple(new_tuple))

    colO = [
    #Dimensions
    'DCG',#Metrics
    'Users','ASD']
    dfO = pd.DataFrame(gaDON,columns = colO)
    print(dfO)
    return dfO

for LI,D in locations_zip:
    dID_str = str(int(LI))
    stor_str = dFI[DA]
    storage = file.Storage(stor_str)
    credentials = storage.get()
    if credentials is None or credentials.invalid:
        credentials = tools.run_flow(flow,storage,flags)
    http = credentials.authorize(http=httplib2.Http())
    analytics = build('analytics','v4',http=http,discoveryServiceUrl=disCOVERY_URI)
    vi_start = 'ga:'
    dfX = getGADO(VI,ed)
    print(dfX)

对此将提供任何帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)