angularjs和googles url shortener

时间:2017-09-11 13:35:58

标签: javascript angularjs google-url-shortener

我现在有一个问题,谷歌网址缩短。 我已经设置了这项服务:

imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = 
cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

cnt = contours[0]
area=cv2.contourArea(cnt)
perimeter = cv2.arcLength(cnt,True)
hull = cv2.convexHull(cnt)
img = cv2.drawContours(img, hull, -1, (0,0,255), 3)
area = cv2.contourArea(cnt)
print(area)

据我所知,这应该有效。我已经输入了正确的API密钥,当我运行此方法时,我收到此错误:

MixpanelAPI mixpanelAPI = MixpanelAPI.getInstance(context, MixPanelConstants.MIX_PANEL_TOKEN);
mixpanelAPI.alias("user.alias", mixpanelAPI.getDistinctId());

但是,如果我使用邮递员并将其设置为与此方法完全相同:

当我发布时,它没有任何问题。 我已经在谷歌控制台上检查了我的应用程序,它肯定设置为不受限制。

之前有没有人遇到过这个问题?有谁知道如何解决它?

1 个答案:

答案 0 :(得分:0)

我想出来了,这与上面的代码无关,但我想我会回答我自己的问题,因为其他人可能遇到同样的问题。

在项目中,我设置了 httpInterceptor ,将身份验证令牌添加到每个与我的API通信的请求中。这就是造成这个问题的原因。 碰巧我已经为我的 apiUrl 定义了一个常量,所以我刚刚更新了拦截器,以确保在尝试附加令牌之前请求url是我的api。 像这样:

angular.module('widget.core').factory('authInterceptor', factory);

function factory($q, $location, $localStorage, apiUrl) {

    // The request function
    var request = function (config) {

        // If we are querying our API
        if (config.url.indexOf(apiUrl) > -1) {

            // Get our stored auth data
            var authData = angular.fromJson($localStorage.get('authorizationData'));

            // Set our headers to the request headers or a new object
            config.headers = config.headers || {};

            // If we have any auth data
            if (authData && authData.authenticated) {

                // Set our authorization header
                config.headers.Authorization = 'Bearer ' + authData.token;
            }
        }

        // Return our config
        return config;
    };

    return {
        request: request
    };
};

我希望能帮到别人。花了我几个小时来搞清楚:/