首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >能用Valence API完全替代储罐吗?

能用Valence API完全替代储罐吗?
EN

Stack Overflow用户
提问于 2015-07-22 15:47:41
回答 1查看 92关注 0票数 0

如果答案是肯定的,请提供参考文件。

我是valence的新手。

致以最好的问候,基姆

EN

回答 1

Stack Overflow用户

发布于 2015-07-23 01:13:03

是!今年夏天我们正式关闭了储油罐。这真是一件痛苦的事。我使用valence重新实现了这个功能,现在对我们的灵活性感觉好多了。我在API调用周围写了一个PHP包装器,它工作得很漂亮。

至于参考文档,我只是使用价格文档来设计包装器。

我已经为像Valence这样的REST服务编写了几个PHP包装器,我从3个泛型函数开始

  • basicGet($url)
  • basicPost($url,$data)
  • basicPut($url,$data)

I可以编写函数,使用每个REST路径所需的数据调用特定的REST路径。

我使用了来自D2L D2LAppContext.php & D2LAppContextFactory.php的PHP库来创建授权和用户上下文,还创建了AuthenticatedUri,然后forwardI使用我自己的函数和PHP函数来调用Valence。

下面是我的基本GET函数的一个示例

代码语言:javascript
复制
function basic_get($opContext,$url){
    $url = $opContext->createAuthenticatedUri($url,"GET");
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLINFO_HEADER_OUT, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    $response = curl_exec($ch);     

    return(json_decode($response));
}

我目前正在解决SSL问题,这就是为什么CURLOPT_SSL_VERIFYPEER设置为FALSE的原因。你不应该这样做。在那里,您可以执行以下操作:

代码语言:javascript
复制
function get_user($opContext,$userid){
    return basic_get($opContext,"/d2l/api/lp/1.1/users/$userid");
}

从那时起,只需将每个REST路径包装在一个函数中即可。POST和PUT的基本函数使用起来有点复杂,但是一旦实现,实现新的路径就轻而易举了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31556953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档