如何在Gmail上下文小工具中实施签名授权类型

时间:2015-02-06 09:45:16

标签: google-apps-marketplace gmail-contextual-gadgets

我正在从现有代码部署内部Gmail上下文小工具。通过参考以下文档在我的Google应用领域中部署了小工具:https://developers.google.com/apps-marketplace/preparing

function makeRequest(){
    var params = {};
    params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
    params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    params[gadgets.io.RequestParameters.OAUTH_SERVICE_NAME] = "HMAC";
    params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 3600;

    var url = "https://applicationid.appspot.com/user/" + sender_name;    
    gadgets.io.makeRequest(url, onResponse, params);
}

function onResponse(response) { 
    if (response.rc != 200) {
        document.getElementById('profile-container').innerHTML = 'Service temporarily unavailable.';
        gadgets.window.adjustHeight();
    } else {
        document.getElementById('profile-container').innerHTML = response.text;
        gadgets.window.adjustHeight();
  }
}

但是此处response.rc始终将状态代码返回为500. gadgets.io.makeRequest()函数不会对url(在appengine上托管的应用程序)发出任何请求。这似乎是SIGNED Authorization的问题。如何在Gmail小工具中实施SIGNED Authorization

1 个答案:

答案 0 :(得分:0)

@NNJ - 不支持OAUTH_SERVICE_NAME = HMAC选项。

您需要使用RSA-SHA1签名方法,您可以从http://opensocialresources.appspot.com/static/igoogle.cert获取证书