gpt4 book ai didi

用于在 CURLOPT_URL 中传递变量的 php pb

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:17 26 4
gpt4 key购买 nike

我在 CURLOPT_URL 中传递我的变量时遇到问题,我尝试了不同的语法,但到目前为止没有好的结果,所以我希望你能帮助我。

这是我的代码:

<?php
$header = array(
"authorization: Bearer NDAxNTVhZTgtODQ5MC00MDBjLTg1MmUtNTAwMjZiMWVjNzZiODMzMTVmYzUtZTFi",
"cache-control: no-cache",
"postman-token: 7d61200d-8ce7-0fb1-8cee-fdeddc67eea4");


$tab_ligne = file('roomid.txt');
$roomcount = count($tab_ligne);
$count = 0;


while ($count != $roomcount){
$ouvre=file('roomid.txt');
$temp = $ouvre[$count];
echo $temp;
$cu = curl_init();

curl_setopt($cu,CURLOPT_URL, "https://api.ciscospark.com/v1/messages?roomId=" . $temp . "&max=1");
curl_setopt($cu,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($cu,CURLOPT_ENCODING,"");
curl_setopt($cu,CURLOPT_MAXREDIRS,10);
curl_setopt($cu,CURLOPT_TIMEOUT,30);
curl_setopt($cu,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($cu,CURLOPT_CUSTOMREQUEST,"GET");
curl_setopt($cu, CURLOPT_POSTFIELDS, "{}");
curl_setopt($cu, CURLOPT_HTTPHEADER, $header);

$resp= curl_exec($cu);
$err = curl_error($cu);
echo $resp;
curl_close($cu);
...

当我使用此代码时出现此错误:

{"message":"获取事件失败。","errors":[{"description":"获取事件失败。"}],"trackingId":"NA_0c7ff82c-6b2e-4973- 84dd-b0213ab4fd3a”

感谢帮助

最佳答案

你可以试试下面的代码:

class sparkAPIV1 {

//GLOBAL DATA
var $SparkAccessToken = NULL;
var $callBackUrl = NULL;
var $roomId = NULL;

//JSON URLs IN SPARK API
//THESE ARE THE URL LOCATIONS THAT YOU CAN POST OR GET JSON DATA TO AND FROM
var $roomsurl = 'https://api.ciscospark.com/v1/rooms';
var $messagesurl = 'https://api.ciscospark.com/v1/messages';
var $webhookurl = 'https://api.ciscospark.com/v1/webhooks';
var $peopleurl = 'https://api.ciscospark.com/v1/people';
var $membershipsurl = 'https://api.ciscospark.com/v1/memberships';


/**
* createWebHook| Used to create a WebHook within a room
* @return string Returns the UUID of the WebHook that was created
*/
function createWebHook()
{
$data = array(
'name' => 'MyCallback' . substr($roomId,-6),
'targetUrl' => $this->callBackUrl,
'resource' => 'messages',
'event' => 'created',
'filter' => 'roomId=' . $this->roomId
);
$options = array(
'http' => array(
'header' => "Authorization: Bearer $this->SparkAccessToken\r\nContent-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data),
),
);
$context = stream_context_create($options);
$result = json_decode(file_get_contents($this->webhookurl, false, $context));
return $result->id;
}

/**
* createRoomMessage AUsed to add a message into a room
* @param string $message Used to contain the string to insert into the room as a message
* @return null no returnable value
*/
function createRoomMessage($message)
{
$data = array(
'roomId' => $this->roomId,
'text' => $message,
);
$options = array(
'http' => array(
'header' => "Authorization: Bearer $this->SparkAccessToken\r\nContent-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data),
),
);
$context = stream_context_create($options);
$result = json_decode(file_get_contents($this->messagesurl, false, $context));
return;
}

/**
* getRoomMessages Used to retrieve $max number of messages in a room
* @param numeric $max Used to control the number of messages retrieved from the room
* @return array An array of messages within the room
*/
function getRoomMessages($max=10)
{
$data = array(
'roomId' => $this->roomId,
'max' => $max,
);
$options = array(
'http' => array(
'header' => "Authorization: Bearer $this->SparkAccessToken\r\nContent-type: application/json\r\n",
'method' => 'GET'
),
);
$context = stream_context_create($options);
$result = json_decode(file_get_contents($this->messagesurl . '?' . http_build_query($data), false, $context));
foreach ($result as $item)
{
foreach ($item as $key=>$value)
{
$dataSet[] = $value->text;
}
}
return $dataSet;
}
}

//EXAMPLE USAGE

$sparkClass = new sparkAPIV1();
$sparkClass->SparkAccessToken = 'MySparkUserAccessToken'; //YOUR SPARK USER'S ACCESS TOKEN
$sparkClass->callBackUrl = 'MyCallBackURL'; //URL YOU WANT THE JSON CALLBACK DATA TO GO TO
$sparkClass->roomId = 'MySparkRoomId'; //UUID OF SPARK ROOM
echo 'Webhook ID: ' . $sparkClass->createWebHook(); //CREATES A WEBHOOK FOR THE USER, IN THE ROOM SPECIFIED BY THE ROOM ID
$sparkClass->createRoomMessage('HELLO WORLD!'); //ISSUES A JSON POST TO THE ROOM WITH THE TEXT "HELLO WORLD!"
var_dump($sparkClass->getRoomMessages(15)); //RETRIEVES ALL THE ROOM MESSAGES SPECIFIED (10 BY DEFAULT)

?>

并调用消息函数

$sparkClass->getRoomMessages($temp);

其中 $temp 是 roomid。

关于用于在 CURLOPT_URL 中传递变量的 php pb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39266642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com