天蓝色的youtube api请求不起作用

时间:2017-08-14 16:20:59

标签: python angularjs azure youtube-data-api

我在Microsoft Azure上有一个小的python / flask应用程序,在这里:https://sdtflask.azurewebsites.net/#!/

这是在我的本地计算机上开发的,然后推送到GitHub,它会自动部署到Azure。除了应用程序的一小部分外,所有内容都可以正常工作,这是对youtube API的http请求,用于从youtube频道中检索某些信息。

这在我的本地计算机上运行正常,但是在Azure上尝试时却没有。

两端的代码相同:

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'}

然后我有以下内容:

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

然后在我的Angular控制器上执行以下操作:

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;
            }
    });

它在我的本地机器上工作正常:

enter image description here enter image description here

但是一旦我部署到服务器,它就不会加载任何内容,这就是我在控制台上获得的JSON:

enter image description here

我检查了应用程序流日志并且没有显示错误,也没有python错误,这让我相信azure会阻止请求吗?任何人都知道可能会发生什么?关于我下一步该做什么的任何指示将不胜感激。提前致谢

1 个答案:

答案 0 :(得分:1)

也许Python Requests throwing up SSLError会帮助您找出发生SSLException的原因

看起来最快的解决方法是设置verify=False。 (取自链接中的答案)