BadParametersError:使用OVH Python包装器时签名无效

时间:2016-03-26 22:12:30

标签: python ovh

我正在使用OVH API和python包装器:

https://pypi.python.org/pypi/ovh

尝试执行此代码时:

static void Main(string[] args)
{
    char[] Array = new char[5];
    Console.WriteLine("Please Enter 5 Letters B/W a through j only: ");
    string letters = "abcdefghij";

    char[] read = Console.ReadLine().ToLower().ToCharArray();

    //loop through array
    for (int i = 0; i < 5; i++)
    {
        if (letters.Contains(read[i]) && !Array.Contains(read[i]))
        {
            Array[i] = read[i];
        }
        else
        {
            Console.WriteLine("You have entered an incorrect value");
        }

    }

    Console.WriteLine("You have Entered the following Inputs: ");
    for (int i = 0; i < Array.Length; i++)
    {
        Console.WriteLine(Array[i]);
    }
    Console.ReadKey();
}

我收到此错误:

NetworkStartPosition

我的信息保存在ovh.conf中,如文档所示。

import ovh

client = ovh.Client()

# Print nice welcome message
print "Welcome", client.get('/me')['firstname']

看起来我可以连接但是当尝试使用像“/ me”这样的服务时,错误会引发!

1 个答案:

答案 0 :(得分:2)

很难重现这个问题,因为它需要一个应用程序密钥,而且它似乎只授予OVH的现有客户。我甚至无法在其网站上看到指向帐户注册页面的链接。

通过查看code of the call() method in /ovh/client.py,他们的服务器似乎无法识别脚本发送的签名的格式或内容。根据内联文档,签名是从这些参数生成的:

  • application_secret
  • consumer_key
  • 方法
  • 完整请求网址
  • 服务器当前时间(将时间增量考虑在内)

由于您的调用与OVH Python包网页上提供的示例代码相同,因此最后四个参数应该有效。在这种情况下,配置文件中的应用程序密钥客户密钥(或两者)看起来都不正确。

另请参阅“签署请求”下的documentation on OVH site。标题。他们解释了如何制作签名以及它应该是什么样的。

也许尝试重新创建一个新的应用程序API来获取新密钥和密钥,并确保复制它们而不需要任何其他字符。