Google API'leri öğrenmeye çalışıyorum ve deneyimlerim Python ile yapıldı, bu yüzden google hizmetlerinin bir kısmına erişmek için google API python istemcisini kullanmaya çalışıyorum ancak hizmet nesnesini oluşturan bir hatayla karşılaşıyorum.Python google api
apiclient.discovery gelen yapı modülünü ithal hiçbir problem var:
>>> from apiclient.discovery import build
>>>
Ama (ben indirilen öğretici dosyasında yapılan gibi) hizmet nesnesi oluşturmak için zamanı geldiğinde, bir şey çöküyor ve elimden Neyin yanlış gittiğini anlamıyorum!
>>> service = build('books','v1',developerKey=api_key)
WARNING:root:No module named locked_file
Traceback (most recent call last):
File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery_cache/__init__.py", line 38, in autodetect
from . import file_cache
File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery_cache/file_cache.py", line 32, in <module>
ImportError: No module named locked_file
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.10-intel/egg/oauth2client/util.py", line 140, in positional_wrapper
File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery.py", line 196, in build
File "build/bdist.macosx-10.10-intel/egg/googleapiclient/discovery.py", line 242, in _retrieve_discovery_doc
File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1609, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1351, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1272, in _conn_request
conn.connect()
File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 1036, in connect
self.disable_ssl_certificate_validation, self.ca_certs)
File "/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/__init__.py", line 80, in _ssl_wrap_socket
cert_reqs=cert_reqs, ca_certs=ca_certs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 911, in wrap_socket
ciphers=ciphers)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 520, in __init__
self._context.load_verify_locations(ca_certs)
IOError: [Errno 13] Permission denied
>>>
Burada yararlı olur ben durumda bu noktaya nasıl açıklanmıştır: Google API Python Installation: Ben istemci kitaplığı ve burada özetlenen gibi bağlıydı tüm diğer modülleri takarak başladı. Pip (ve gerekli sudo) kullandım ve her şey yüzmeye gitti. Ben hataları pip '--update argümanı ile güncelleyerek hatamı tamir çalıştım ama hepsi "Gereksinim zaten güncel: {Modül Belgesi Adı Burada}} bu yüzden sorun olduğuna inanmıyorum.
Bundan sonra, eğiticiyi takip etmeye başladım. Eğiticide, google kitaplarla arayüz oluşturmaya örnek API (bu bana sorun veriyor) veriyor: Google Books Example. Eğiticinin başlangıcında belirtildiği şekilde google'dan bir API geliştirici anahtarı aldım ve hizmet nesnesini bile çalıştırmama gibi bir sorun olduğuna inanmıyorum.
Hatayı inceledim, ancak benzer sorunları olan kimseyi göremedim, bu yüzden burada insanların yardımcı olabileceğini umuyorum! Eğer izinleri ile sorun var gibi
sayesinde
MLP
Ben sadece chown (dosya/dizin üzerinde api değil, modüllerle veya herhangi bir şeyle değil) çalıştı ancak aynı hatayı aldım :(python dosyası şu şekilde çalışıyor: "-rw-r - r-- 1 mlp personel 2271 Feb 18 00:54 GoogleBooksExample.py", ve burada geri çekilmeden hemen önce bahsettikleri modülün izinleri "-rw- r - r-- 1 kök tekerleği 36583 14 Temmuz 2015 ssl.py " – MLP
@MLP ve komut dosyası yönetici ayrıcalıklarıyla çalıştırılırsa ne işe yarar? – noise