1

Google Analytics APIを呼び出すPython 3.4 Webアプリケーションを構築しました。Google Analytics API +プロキシ

class GA: 

    def __init__(self): 
     self.scope = ['https://www.googleapis.com/auth/analytics.readonly'] 
     self.service_account_email = 'my_account_email' 
     self.key_file_location = 'my_key_location' 
     self.ga_id = 'my_ga_id' 


    def get_service(self, api_name = 'analytics', api_version = 'v3'): 
     f = open(self.key_file_location, 'rb') 
     key = f.read() 
     f.close() 
     credentials = SignedJwtAssertionCredentials(self.service_account_email, key,scope=self.scope) 

     http = credentials.authorize(httplib2.Http()) 

     service = build(api_name, api_version, http=http) 
     self.service = service 
     return (service) 

ga = GA() 
ga.get_service() 

それは、プロキシ

せずに完璧に動作しますが、私は、企業のプロキシ背後に実行しているWindowsサーバにそれを設定する必要があります。だから、私はHTTPオブジェクトを次のように置き換えようとしました:

p = httplib2.proxy_info_from_url("http://username:[email protected]:80") 
http = credentials.authorize(httplib2.Http(proxy_info=p)) 

しかし、それは動作しません。だから私はまた試しました:

os.environ['HTTP_PROXY']="http://username:[email protected]:80" 
p = httplib2.proxy_info_from_environment(method='http') 
http = credentials.authorize(httplib2.Http(proxy_info=p)) 

しかし、それはどちらも機能しません。私は成功していないすべての関連する質問をチェックした。私はいつもTimeoutErrorを得る:[WinError 10060]

+0

他のURL /要求でプロキシが動作することを確認しましたか? – abraham

+0

確かに。簡単なhttplib2.Http(proxy_info = p).request( 'http://google.com') – Phil27

+0

は動作しません。リクエストパッケージは動作しますが! Googleサービスに適合するためにhttplib2.Http()を使用する必要がありますobjet – Phil27

答えて

0

興味深い人たちのために、私はPython 2で私のWebアプリケーションを再コード化することに決めた。 httplib2パッケージを使用しています。

同じコードが動作します(プロキシ情報はPython 3とは逆に考慮されます)