質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

解決済

youtubeAPIのエラーの原因がわからない。module 'pyparsing' has no attribute 'downcaseTokens'

thaqulla
thaqulla

総合スコア12

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

1回答

0評価

0クリップ

449閲覧

投稿2022/03/27 14:46

1.youtubeAPI × python で3月中旬からエラーが出てしまう

3月中旬からYouTubeAPIとPythonを組み合わせたプログラムを回すとエラーが出てしまうようになった。
本当はもっと長いプログラムのため、
以下のような簡単なプログラムを書いて実行してもエラーが発生してしまっている。

python

from apiclient.discovery import build API_KEY = "自分のAPI_KEY" videoId = "WJzSBLCaKc8" #「YouTubeテーマソング/ヒカキン&セイキン」 def YoutubeChannelDetails(videoId,API_KEY): API_SERVICE_NAME = "youtube" API_VERSION = "v3" youtube = build(API_SERVICE_NAME, API_VERSION, developerKey=API_KEY) search_response = youtube.videos().list( part="snippet", id = videoId, ).execute() return search_response["items"] test = YoutubeChannelDetails(videoId, API_KEY) test

2.エラーメッセージ

python

--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [4], in <cell line: 1>() ----> 1 from apiclient.discovery import build 3 API_KEY = "自分のAPI_KEY" 4 videoId = "WJzSBLCaKc8" File ~\anaconda3\lib\site-packages\apiclient\__init__.py:6, in <module> 3 import googleapiclient 5 from googleapiclient import channel ----> 6 from googleapiclient import discovery 7 from googleapiclient import errors 8 from googleapiclient import http File ~\anaconda3\lib\site-packages\googleapiclient\discovery.py:42, in <module> 39 import urllib 41 # Third-party imports ---> 42 import httplib2 43 import uritemplate 44 import google.api_core.client_options File ~\anaconda3\lib\site-packages\httplib2\__init__.py:52, in <module> 48 except ImportError: 49 # TODO: remove this fallback and copypasted socksipy module upon py2/3 merge, 50 # idea is to have soft-dependency on any compatible module called socks 51 from . import socks ---> 52 from . import auth 53 from .error import * 54 from .iri2uri import iri2uri File ~\anaconda3\lib\site-packages\httplib2\auth.py:20, in <module> 15 token68 = pp.Combine(pp.Word("-._~+/" + pp.nums + pp.alphas) + pp.Optional(pp.Word("=").leaveWhitespace())).setName( 16 "token68" 17 ) 19 quoted_string = pp.dblQuotedString.copy().setName("quoted-string").setParseAction(unquote) ---> 20 auth_param_name = token.copy().setName("auth-param-name").addParseAction(pp.downcaseTokens) 21 auth_param = auth_param_name + pp.Suppress("=") + (quoted_string | token) 22 params = pp.Dict(pp.delimitedList(pp.Group(auth_param))) AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'

3. やったこと

上記メッセージから

module 'pyparsing' has no attribute 'downcaseTokens'

というエラーが出ているのでpyparsingが悪さをしていると判断。Stackoverflowで調べ、以下のURL先にたどり着いた。
https://stackoverflow.com/questions/69694833/frappe-installation-error-attributeerror-module-pyparsing-has-no-attribute

pyparsingをダウングレードして再度実行したが、同じエラーが出てしまった。

4.今現在の私の環境

Python

Python 3.8.5 conda 4.11.0 altair==4.2.0 altgraph==0.17.2 apiclient==1.0.4 argon2-cffi==20.1.0 asgiref==3.5.0 astor==0.8.1 astroid==2.4.2 async-generator==1.10 attrs==20.2.0 backcall==0.2.0 backports.entry-points-selectable==1.1.0 backports.zoneinfo==0.2.1 base58==2.1.1 bleach==3.2.1 blinker==1.4 cachetools==4.2.2 certifi==2020.6.20 cffi==1.14.2 chardet==3.0.4 charset-normalizer==2.0.4 click==8.0.3 colorama==0.4.3 cycler==0.10.0 DateTime==4.3 decorator==4.4.2 defusedxml==0.6.0 distlib==0.3.2 Django==4.0.3 entrypoints==0.3 et-xmlfile==1.0.1 filelock==3.0.12 future==0.18.2 gitdb==4.0.9 GitPython==3.1.26 google-api-core==2.7.1 google-api-python-client==2.42.0 google-auth==2.0.1 google-auth-httplib2==0.1.0 google-auth-oauthlib==0.5.1 googleapis-common-protos==1.53.0 googletrans==4.0.0rc1 h11==0.9.0 h2==3.2.0 hpack==3.0.0 hstspreload==2021.12.1 httpcore==0.9.1 httplib2==0.20.2 httpx==0.13.3 hyperframe==5.2.0 idna==2.10 image==1.5.33 ipykernel==5.3.4 ipython==7.18.1 ipython-genutils==0.2.0 ipywidgets==7.5.1 isort==5.4.2 jdcal==1.4.1 jedi==0.17.2 Jinja2==2.11.2 jsonschema==3.2.0 jupyter==1.0.0 jupyter-client==6.1.7 jupyter-console==6.2.0 jupyter-core==4.6.3 jupyterlab-pygments==0.1.2 kiwisolver==1.2.0 lazy-object-proxy==1.4.3 lxml==4.7.1 MarkupSafe==1.1.1 matplotlib==3.3.2 mccabe==0.6.1 mecab==0.996.3 mecab-python3==1.0.4 mistune==0.8.4 multitasking==0.0.10 mysqlclient==2.0.3 nbclient==0.5.0 nbconvert==6.0.7 nbformat==5.0.7 nest-asyncio==1.4.0 notebook==6.1.4 numpy==1.19.2 oauth2client==4.1.3 oauthlib==3.2.0 openpyxl==3.0.5 packaging==20.4 pandas==1.4.0 pandocfilters==1.4.2 parso==0.7.1 pefile==2021.9.3 pickleshare==0.7.5 Pillow==7.2.0 pip-autoremove==0.9.1 plac==1.3.3 platformdirs==2.2.0 prometheus-client==0.8.0 prompt-toolkit==3.0.7 protobuf==3.17.3 pyarrow==6.0.1 pyasn1==0.4.8 pyasn1-modules==0.2.8 pycparser==2.20 pydeck==0.7.1 Pygments==2.7.0 pyinstaller==4.9 pyinstaller-hooks-contrib==2022.1 pylint==2.6.0 Pympler==1.0.1 pyocr==0.8.1 pyparsing==2.4.2 pyrsistent==0.17.3 python-dateutil==2.8.1 pytz==2021.3 pytz-deprecation-shim==0.1.0.post0 pywin32==228 pywin32-ctypes==0.2.0 pywinpty==0.5.7 pyxel==1.4.3 pyzmq==19.0.2 qtconsole==4.7.7 QtPy==1.9.0 requests==2.26.0 requests-oauthlib==1.3.1 rfc3986==1.5.0 rsa==4.7.2 Send2Trash==1.5.0 six==1.15.0 smmap==5.0.0 sniffio==1.2.0 sqlparse==0.4.2 streamlit==1.5.0 terminado==0.8.3 testpath==0.4.4 toml==0.10.1 toolz==0.11.2 tornado==6.0.4 tqdm==4.62.3 traitlets==5.0.4 tzdata==2021.5 tzlocal==4.1 unidic==1.1.0 uritemplate==3.0.1 urllib3==1.26.6 validators==0.18.2 virtualenv==20.7.2 wasabi==0.8.2 watchdog==2.1.6 wcwidth==0.2.5 webencodings==0.5.1 widgetsnbextension==3.5.1 wrapt==1.12.1 xlwt==1.3.0 yfinance==0.1.70 zope.interface==5.4.0

5.やりたいこと

json形式でitemsのみを以下のように出力したい。

{ "kind": "youtube#video", "etag": etag, "id": string, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "thumbnails": { (key): { "url": string, "width": unsigned integer, "height": unsigned integer } }, "channelTitle": string, "tags": [ string ...

よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

thaqulla

2022/03/27 15:38

httplib2==0.20.2 には既になっていました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。