Zoho workdrive api Ошибка «Общее исключение» - PullRequest
0 голосов
/ 13 февраля 2019

Objetcive: попытка создать файл в zoho workdrive, используя php-curl

note: Я проверил oauth и использую правильный oauth.Кроме того, я использую правильный родительский идентификатор.

error-recieved : {"errors":[{"id":"F000","title":"General Исключение "}]}

используемый код:

 work_drive_create_file($oauth);

              function work_drive_create_file($oauth){

                $apiUrl = "https://workdrive.zoho.com/api/v1/files";

                $data  ='{
                        "data": { 
                           "attributes": { 
                                "name": "Untitled Spreadsheet", 
                                  "service_type": "zohosheet", 
"parent_id": "0nk78318a1771da934f22939e4a00d8aab225" 
                            }, 
                            "type": "files" 
                            } 
                        }';
     $headers = array(
                    'Content-Type: application/json',
                    'Content-Length: ' . strlen($data),
                    sprintf('Authorization: Zoho-oauthtoken %s', $oauth)
                );



                $ch = curl_init();

                curl_setopt($ch, CURLOPT_URL, $apiUrl);
                curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 60);
                curl_setopt($ch,CURLOPT_POST,true);
                curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
                curl_setopt($ch,CURLOPT_POSTFIELDS ,$data);
                curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);


                $response = curl_exec($ch);


                print_r(json_decode($response));


                 curl_close($ch);
                return $response;

              }

также я хотел бы узнать значениедля "service-type", если это документ вместо zohosheet.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

@ Rishabh Kushwaha Вы пропустили установку заголовка пользовательского агента в Rest API.

Согласно RFC 7231 :

Пользовательский агент ДОЛЖЕН отправлять поле User-Agent в каждом запросе, если специально не настроен на это.

Вы можете использовать простой заголовок пользовательского агента, такой как User-Agent: «PHP 5.7.1».Попробуйте с правильным заголовком пользовательского агента, и остальные API будут работать, как ожидалось.Это должно быть полезно для отслеживания источника запросов, а также для облегчения поиска ваших тестов в журнале статистики доступа.

0 голосов
/ 27 февраля 2019

api / v1 / files является конечной точкой для создания файла.поэтому вызов API выглядит следующим образом:

$ apiUrl = https://workdrive.zoho.com/api/v1/files

Чтобы создать документ:

service_type= «Zw»

Чтобы создать презентацию

service_type = «zohoshow»

Вы найдете ответы на большинство ваших вопросовв нашей документации API здесь .

...