rapidapi/rapidapi-connect

连接到rapidapi.com市场中的区块

0.0.2 2017-03-20 14:17 UTC

This package is not auto-updated.

Last update: 2024-09-24 22:56:15 UTC


README

#RapidAPI Connect - PHP SDK

此SDK允许您从您的php应用程序连接到RapidAPI块。要开始,请按照以下指南操作

MIT Licence forthebadge

##设置

首先,使用composer下载SDK

composer require rapidapi/rapidapi-connect

然后,引入composer自动加载并在您的代码中使用该包

require __DIR__ . '/vendor/autoload.php';

use RapidApi\RapidApiConnect;

一旦引入,最后一步是用您的项目名称和项目API密钥初始化SDK

$rapid = new RapidApiConnect('PROJECT_NAME', 'API_KEY');

就这样,您的SDK已设置完毕!现在您可以通过复制市场中的代码片段来使用任何块。

##使用方法

要使用市场中的任何块,只需复制其代码片段并将其粘贴到您的代码中。例如,以下将调用Calculate.add块,并打印结果

print_r($rapid->call('Calculate', 'add', ['num1' => 11, 'num2' => 2]));

打印的结果将是

Array
(
    [success] => 13
)

注意,如果您进行无效的块调用(例如,您引用的包不存在),也会调用error事件。

##文件:当RapidAPI中的块需要文件时,您可以通过传递文件的URL或读取流来操作。

###URL:以下代码将使用图像的URL调用MicrosoftComputerVision.analyzeImage

    $response = $rapid->call('MicrosoftComputerVision', 'analyzeImage', 
    ['subscriptionKey' => '############################', 'image' => 'https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg']
    );

###读取流如果文件是本地存储的,您可以使用CURLFile读取它,并将读取流传递给块,如下所示

    $image = new CURLFile('/YOUR_PATH_HERE/maxresdefault.jpg');
    
    $response = $rapid->call('MicrosoftComputerVision', 'analyzeImage', 
    ['subscriptionKey' => '############################', 'image' => $image]
    );

print_r($response)的打印结果将是

Array
(
    [success] => {"categories":[{"name":"animal_cat","score":0.99609375}],"requestId":"6f7a1129-d6ff-4975-8725-d3593fc526c7","metadata":{"width":1600,"height":1200,"format":"Jpeg"}}
)

RapidAPI使用form-data库(由@felixge提供),以处理文件,请参考它以获取更多信息。

###Webhooks设置Webhook后,您可以通过Websocket监听实时事件。

require __DIR__ . "/vendor/autoload.php";

use Ratchet\Client\WebSocket;
use React\EventLoop\Factory;


$loop = Factory::create();

$rapid = new RapidApi\RapidApiConnect("PROJECT_NAME", "API_KEY");

$webhook = $rapid->connectionFactory($loop);

$webhook($rapid->getWebHookToken("Slack", "slashCommand"))
    ->then(function (WebSocket $websocket) use ($loop, $rapid) {

        return $rapid->createListener($websocket, $loop, ["token" => "your_token_here", "command" => "/slash_command"]);
    }, function (\Exception $e) use ($loop, $rapid) {

        echo $rapid->createCallback("close", $e->getMessage()) . PHP_EOL;
    })
    ->then(null, null, function ($notify) {

        echo $notify;
    });

$loop->run();

##问题

由于这是SDK的预发布版本,您可能会遇到错误。请在问题部分报告它们,以便我们了解情况。您可以在任何时间使用rapidapi.com上的intercom聊天进行支持。

##许可证

兹授予任何获得本软件及其相关文档文件(“软件”)副本的个人免费使用软件的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的个人提供这样做,但受以下条件约束

软件按“现状”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他方式,源自、因之产生或与此软件或软件的使用或其他交易有关。