4

我在尝试让 Rackspace Opencloud API 按预期工作时遇到问题(尤其是云文件)。

我一直在遵循这些指南:

https://github.com/rackspace/php-opencloud/blob/master/docs/userguide/ObjectStore/Access.md http://docs.rackspace.com/sdks/api/php/namespace-OpenCloud.ObjectStore.html

身份验证似乎工作正常,因为返回了令牌和服务目录。

header("Content-Type: text/plain");
require '/vendor/autoload.php';

use OpenCloud\Rackspace;

$client = new Rackspace('https://lon.identity.api.rackspacecloud.com/v2.0/', array(
    'username' => 'MY_USERNAME',
    'apiKey'   => 'MY_APIKEY'
));

$client->authenticate();

echo 'Authenticated with token: '.$client->getToken()."\n\n";

print_r($client->getCatalog());

当我尝试使用 API 中的服务时,我的问题就开始了:

$service = $client->objectStoreService('cloudFiles');

这一行杀死了代码。我已经逐行复制了 Rackspace 文档行,但仍然没有运气,我无法让任何服务正常工作。

任何人都可以看到我哪里出错或提供任何提示以解决此问题的最佳方法吗?

4

1 回答 1

6

明确指定区域

您需要明确选择要使用的区域。从您的身份行看来,您需要将其设置为 LON。

$service = $client->objectStoreService('cloudFiles', 'LON'); # Or IAD, HKG, SYD, etc.

旁注:我刚刚在 php-opencloud 上提交了一个拉取请求,以便在文档中更清楚地说明这一点。

于 2014-01-01T19:50:45.973 回答