googlefitで保存されている歩数データを取ってきたいと思っています。
以下のサイトを参考にしていたところエラーが出てきてしまい、その解決方法が分かりません。
エラーは以下の通りです。
Traceback (most recent call last):
File "googlefitdata.py", line 45, in <module>
http = credentials.authorize(http)
AttributeError: 'NoneType' object has no attribute 'authorize'
このエラーはNoneに対してアクセスしようとしているため起こるそうなのですが、どこがNoneなのかすらわかっていない状況です。
ご多忙の中大変恐縮ですが、どなたか教えていただけたら大変助かります。
import os import json import httplib2 import requests import time from datetime import datetime, timedelta from apiclient.discovery import build from oauth2client.client import OAuth2WebServerFlow, flow_from_clientsecrets from oauth2client.file import Storage OAUTH_SCOPE = 'https://www.googleapis.com/auth/fitness.activity.read' DATA_SOURCE = "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps" REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob' CREDENTIALS_FILE = "./secret/credentials" credentials = "" if os.path.exists(CREDENTIALS_FILE): credentials = Storage(CREDENTIALS_FILE).get() else: #flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI) flow = flow_from_clientsecrets( # API有効化時に取得したOAuth用のJSONファイルを指定 './secret/oauth2.json', # スコープを指定 scope=OAUTH_SCOPE, # ユーザーの認証後の、トークン受け取り方法を指定(後述) redirect_uri=REDIRECT_URI) authorize_url = flow.step1_get_authorize_url() print('下記URLをブラウザで起動してください。') print(authorize_url) code = input('Codeを入力してください: ').strip() credentials = flow.step2_exchange(code ) if not os.path.exists(CREDENTIALS_FILE): Storage(CREDENTIALS_FILE).put(credentials) # Create an httplib2.Http object and authorize it with our credentials http = httplib2.Http() http = credentials.authorize(http) fitness_service = build('fitness', 'v1', http=http) print(fitness_service)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/18 15:25
2021/04/18 15:37 編集
2021/04/18 23:34 編集