doxd96148 2014-08-14 10:43
浏览 39
已采纳

Onedrive上载因内部服务器错误而失败

I'm trying to create file on the OneDrive using REST API with PHP, but in the response I retrieve HTTP status code 500.

Code: `

    $url = $this->buildUrl(
        '{folder_id}/files/{filename}?access_token={token}',
        array(
            'folder_id' => $folderId,
            'filename'  => $filename,
            'token'     => $this->getAccessToken(),
        )
    );

    $response = wp_remote_request($url, array(
        'body'    => $content,
        'method'  => 'PUT',
    ));

`

Error message from the response body: An error occurred while performing the action. Try again later.

What i'm doing wrong?

  • 写回答

1条回答 默认 最新

  • dongmang3961 2014-08-28 22:03
    关注

    I just went through the same problem. It worked for me when I removed 'Content-type' line from request header.

    If you are using PHP Curl to send request in wp_remote_request, you can remove 'Content-type' line from request header by calling something similar to this, before calling curl_exec:

     curl_setopt($ci, CURLOPT_HTTPHEADER, array("Content-Type:"));
    

    By adding the code above, the actual request header looks like this (note there is no 'Content-Type'):

     PUT /v5.0/{folderId}/files/{filename}?access_token={accesstoken}
     User-Agent: SOMEAGENT
     Host: apis.live.net
     Accept: */*
     Expect: 100-continue
     Content-Length: 29
    

    FYI: I got a hint from here:

    http://msdn.microsoft.com/en-us/library/dn631834.aspx

    "For a PUT request, leave the Content-Type blank and put the contents of the file in the request body."

    Hope it helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法