【问题标题】:Zoho workdrive api "General Exception" errorZoho workdrive api“一般异常”错误
【发布时间】:2019-07-07 02:11:15
【问题描述】:

Objetcive:尝试在 zoho workdrive 中创建一个文件,使用 php-curl

注意:我已经检查了 oauth 并且我正在使用正确的 oauth。 另外,我使用了正确的父 ID。

error-recieved : {"errors":[{"id":"F000","title":"GeneralException"}]}

使用的代码:

 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;

              }

我也想知道“服务类型”的值,如果它是一个代替 zohosheet 的文档。

【问题讨论】:

    标签: zoho


    【解决方案1】:

    @Rishabh Kushwaha 您错过了在 Rest API 中设置用户代理标头。

    根据RFC 7231:

    用户代理应该在每个请求中发送一个用户代理字段,除非 专门配置为不这样做。

    您可以使用简单的用户代理标头,例如 User-Agent:“PHP 5.7.1”。尝试使用正确的用户代理标头,其余 api 将按预期工作。这对于监视请求的来源应该很有用,并且还可以轻松地在访问统计日志中找到您的测试。

    【讨论】:

      【解决方案2】:

      api/v1/files 是创建文件的端点。 所以 api 调用如下所示:

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

      创建文档:

      service_type = “zw”

      创建演示文稿

      service_type=“zohoshow”

      您可以在我们的 API 文档here 中找到大部分问题的答案。

      【讨论】:

      • 亲爱的 Priya,欢迎来到 Stack Overflow。请注意,即使是新帐户也可以建议编辑以改进帖子,在这里您有机会建议对问题本身进行编辑,例如通过将Objetcive 更正为Objective 以及来自提问者的其他大小写和拼写错误问题。甚至可以改进代码的格式。通过编辑问题,您可以提高支持的质量。
      • 另请注意,您不应将电子邮件放在答案中。
      • 感谢您的明确答复,我按照建议更正了网址,并参考了文档,但“一般异常”的错误仍然存​​在!
      猜你喜欢
      • 2018-07-30
      • 2023-04-06
      • 1970-01-01
      • 2017-05-17
      • 2011-01-26
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多