1

我正在从现有代码部署内部 Gmail 上下文小工具。通过参考此文档在我的谷歌应用程序域中部署了小工具: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. 如何SIGNED Authorization在 Gmail 小工具中实现?

4

1 回答 1

0

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

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

于 2015-03-26T11:51:13.903 回答