部署 这里有 UCloud 的同学吗?

femto · 2014年04月07日 · 最后由 femto 回复于 2014年04月08日 · 3063 次阅读

你们的 api 不 working 啊, Error public_key, github 上面一搜 ucloud,全是韩国 ucloud, 找到的只有 python sdk 和 php sdk, 只好照着仿了一下,即使传进 PUBLIC_KEY 和 access_token, 还是报 Error public_key,没有更详细的信息。文档我就不吐槽什么了, $params['public_key'] = $public_key; $params['access_token'] = verfyAC($private_key,$params); $data = $rest->get("/ufirewall",$params,'json'); verfyAC 未定义,$rest 未定义, 而且又不是所有人都看得懂 php。。 (后来才发现这些方法是你们 php sdk 里的。。)

仿制 verify_ac

def _verfy_ac(private_key, params):
    items=params.items()
    items.sort()

    params_data = "";
    for key, value in items:
        params_data = params_data + str(key) + str(value)

    params_data = params_data+private_key

    '''use sha1 to encode keys'''
    hash_new = hashlib.sha1() 
    hash_new.update(params_data)
    hash_value = hash_new.hexdigest()
    return hash_value

看起来是根据 key sort,然后拼接 sha1, 下面是我的实现,应该也没错啊。

def verify_ac(params)
      params = params.clone

      params_data = ""
      params.sort.each do |key, value|
        params_data = params_data + key.to_s + value.to_s

        params_data = params_data + UcloudApiClient.private_key

        #'''use sha1 to encode keys'''

      end
      Digest::SHA1.hexdigest params_data
    end

(https://github.com/femto/ucloud-ruby-sdk) 只能说你们的 api 完全不 working 了。。

1 楼 已删除
2 楼 已删除

看下来您这个代码有几个问题,详情请查看

https://github.com/femto/ucloud-ruby-sdk/pull/1

给您这边带来不便,非常抱歉。广而告知 UCLOUD 这边正在开发新版的 API,以及比较清晰的文档。和主流语言的 SDK 都会提供。

ok,get working 了,但是 post 还是不 working, 一直都是 Error public_key,无论是改自原来 的 send_sms 还是新建的 add firewall(话说你们 现在还有 send_sms 吗?) ps:另外你们 server 访问 github 很慢,我装一个东西装了 半天之后,问客服,客服说"国内到美国的连接速度,这个基本上没有办法保证的。大家都懂~", 把我气的。话说是因为最近光缆断裂的缘故吗?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号