|
@@ -19,6 +19,9 @@ class InstagramService implements SmmPlatformInterface
|
|
|
// 构造函数,传入配置信息
|
|
|
public $configData = [];
|
|
|
|
|
|
+ protected $timeout = 60;//总超时时间 30 秒
|
|
|
+ protected $connectTimeout = 15;//连接阶段超时 10 秒
|
|
|
+
|
|
|
public function __construct($configData) {
|
|
|
$this->configData = $configData;
|
|
|
$this->clientId = env('SSM_INSTAGRAM_APP_ID');
|
|
@@ -125,7 +128,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'caption' => $message,
|
|
|
'access_token' => $accessToken,
|
|
|
];
|
|
|
- $containerResponse = Http::asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media",$postData);
|
|
|
+ $containerResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media",$postData);
|
|
|
|
|
|
$containerData = $containerResponse->json();
|
|
|
|
|
@@ -136,7 +139,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
|
|
|
Log::info('开始发布媒体容器');
|
|
|
// Publish the container
|
|
|
- $publishResponse = Http::post("https://graph.instagram.com/v21.0/{$igUserId}/media_publish", [
|
|
|
+ $publishResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->post("https://graph.instagram.com/v21.0/{$igUserId}/media_publish", [
|
|
|
'creation_id' => $containerData['id'],
|
|
|
'access_token' => $accessToken,
|
|
|
]);
|
|
@@ -168,7 +171,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'postData' => $postData,
|
|
|
];
|
|
|
Log::info('上传子媒体容器');
|
|
|
- $childResponse = Http::asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media", $postData);
|
|
|
+ $childResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media", $postData);
|
|
|
|
|
|
$childData = $childResponse->json();
|
|
|
$responseContent[] = $childData;
|
|
@@ -189,7 +192,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'postData' => $postData,
|
|
|
];
|
|
|
Log::info('Create carousel container');
|
|
|
- $carouselResponse = Http::asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media",$postData );
|
|
|
+ $carouselResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media",$postData );
|
|
|
|
|
|
$carouselData = $carouselResponse->json();
|
|
|
if (!isset($carouselData['id'])) {
|
|
@@ -205,7 +208,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'postData' => $postData,
|
|
|
];
|
|
|
Log::info('Publish carousel');
|
|
|
- $publishResponse = Http::post("https://graph.instagram.com/v21.0/{$igUserId}/media_publish", $postData);
|
|
|
+ $publishResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->post("https://graph.instagram.com/v21.0/{$igUserId}/media_publish", $postData);
|
|
|
|
|
|
$publishData = $publishResponse->json();
|
|
|
if (!isset($publishData['id'])) {
|
|
@@ -241,7 +244,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'caption' => $message,
|
|
|
'access_token' => $accessToken,
|
|
|
];
|
|
|
- $containerResponse = Http::asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media", $postData);
|
|
|
+ $containerResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->asForm()->post("https://graph.instagram.com/v21.0/{$igUserId}/media", $postData);
|
|
|
$containerData = $containerResponse->json();
|
|
|
if (!isset($containerData['id'])) {
|
|
|
return ['status' => false, 'data' => '错误:无法创建视频容器 - ' . json_encode($containerData)];
|
|
@@ -257,7 +260,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'fields' => 'status',
|
|
|
'access_token' => $accessToken,
|
|
|
];
|
|
|
- $statusResponse = Http::get("https://graph.instagram.com/{$containerData['id']}", $postData);
|
|
|
+ $statusResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->get("https://graph.instagram.com/{$containerData['id']}", $postData);
|
|
|
|
|
|
$statusData = $statusResponse->json();
|
|
|
$status = $statusData['status'] ?? 'ERROR';
|
|
@@ -276,7 +279,7 @@ class InstagramService implements SmmPlatformInterface
|
|
|
'creation_id' => $containerData['id'],
|
|
|
'access_token' => $accessToken,
|
|
|
];
|
|
|
- $publishResponse = Http::post("https://graph.instagram.com/v21.0/{$igUserId}/media_publish",$postData);
|
|
|
+ $publishResponse = Http::timeout($this->timeout)->connectTimeout($this->connectTimeout)->post("https://graph.instagram.com/v21.0/{$igUserId}/media_publish",$postData);
|
|
|
Log::info("发布视频完成");
|
|
|
$publishData = $publishResponse->json();
|
|
|
if (!isset($publishData['id'])) {
|