如何解决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 举报,一经查实,本站将立刻删除。