2017-08-14 1 views
0

J'ai un petit python/application flacon sur Microsoft Azure, ici: https://sdtflask.azurewebsites.net/#!/demande youtube api sur azur ne fonctionne pas

Ceci est développé sur ma machine locale, puis poussé à GitHub où il est automatiquement déployé Azur. Tout fonctionne bien sur les deux extrémités, sauf pour une petite partie de l'application, qui est une requête http à l'API YouTube pour récupérer des informations à partir d'une chaîne YouTube.

Cela fonctionne très bien sur mon ordinateur local, mais lorsqu'il est essayé sur Azure, il ne fonctionne pas.

Le code est le même sur les deux extrémités:

import requests 
from flask_restful import Resource 

class GetChannelList(Resource): 
    def get(self): 
     try: 
      url = "https://content.googleapis.com/youtube/v3/search?key=AIzaSyCxd3KGNNiZy-omyDH7U8Lr3zGQD6ZO448&channelId=UCvS6-K6Ydmb4gH-kim3AmjA&part=snippet,id&order=date&maxResults=50" 
      r = requests.get(url).json() 
      # r.raise_for_status() 
      return r 
     except Exception as e: 
      print(str(e)) 
      return {'message': 'something went wrong'} 

Je donne les résultats suivants:

from flask import Flask 
from flask_restful import Api 
from api.get_channel_list import GetChannelList 
app = Flask(__name__) 

api = Api(app) 

api.add_resource(GetChannelList, "/api/get_channel_list") 

import FlaskWebProject1.views 

Et puis sur mon contrôleur angulaire je fais ce qui suit:

angular.module('sdt') 
    .controller('mainCtrl', function($scope, $http){ 
     $scope.showResults = function(){ 
      $scope.data = $http.get('api/get_channel_list').then(function(data){ 
       console.log(data); 
       $scope.printTable(data); 
      }); 
      } 
      $scope.printTable = function(data){ 
       $scope.pageToken = data.data.nextPageToken; 
       // $scope.fetchMore($scope.pageToken); 
       $scope.items = data.data.items; 
      } 
    }); 

cela fonctionne très bien sur ma machine locale:

enter image description here enter image description here

Mais une fois que je déploie au serveur, il ne charge rien et ce que je reçois sur le JSON de la console:

enter image description here

J'ai vérifié les journaux de streaming d'application et pas les erreurs sont montrées, il n'y a pas non plus d'erreur python, ce qui me fait croire qu'azure bloque la requête? Quelqu'un a une idée de ce qui pourrait se passer? Tout pointeur sur ce que je pourrais faire ensuite sera apprécié. Merci à l'avance

+0

essayez d'imprimer l'exception exacte? 'sys.exc_info() [0]'? – PYA

+0

Retourne l'erreur suivante: '' "' @pyjg – codeninja

+0

https://stackoverflow.com/questions/10667960/python-requests-throwing-up-sslerror peut-être cela? – PYA

Répondre

1

Peut-être que Python Requests throwing up SSLError vous aidera à comprendre pourquoi il y a un SSLException qui se passe

ressemble le plus rapide de la solution est la mise en verify=False. (tiré de la réponse dans le lien)