Csv 图像服务器-创建URL和文件名列表

Csv 图像服务器-创建URL和文件名列表,csv,google-drive-api,shopify,Csv,Google Drive Api,Shopify,我正在通过csv将产品上传到Shopify。我在谷歌硬盘上有一堆带有公共链接的图片,但它们产生了错误。我想有两个问题。首先,我可以将图像保存在驱动器中吗?如果可以,您可以提供哪些资源来帮助我访问url和文件名的API?其次,如果没有,那么托管图像并将图像URl和文件名导出到电子表格中的最佳流程/系统是什么,这样我就可以添加到csv文件中?您没有指定收到的错误类型,但链接外部源图像的一般方法是使用API。从文档中: POST /admin/products/#{id}/images.json {

我正在通过csv将产品上传到Shopify。我在谷歌硬盘上有一堆带有公共链接的图片,但它们产生了错误。我想有两个问题。首先,我可以将图像保存在驱动器中吗?如果可以,您可以提供哪些资源来帮助我访问url和文件名的API?其次,如果没有,那么托管图像并将图像URl和文件名导出到电子表格中的最佳流程/系统是什么,这样我就可以添加到csv文件中?

您没有指定收到的错误类型,但链接外部源图像的一般方法是使用API。从文档中:

POST /admin/products/#{id}/images.json
{
  "image": {
    "src": "http://example.com/rails_logo.gif" 
  }
}
然而,Shopify不会提供谷歌硬盘上的图像。当图像通过src Shopify链接时,会将其上传并分发到其内容交付网络。加载谷歌硬盘图像时,Shopify会尝试上传,但GD至少会发送一轮重定向,Shopify不会跟随

您最好的选择是:加载图像;base64编码它;使用API上载图像内容。下面的示例显示了如何使用Node.js执行此操作

var https = require('https');
var fs = require('fs');
var cred = new Buffer("APIKey:APIPassword").toString('base64');
var headers = {
    Authorization: "Basic " + cred,
    "Content-Type": "application/json"
};
var options = {
    host: 'mystore.myshopify.com',
    port: 443,
    path: '/admin/products/1934429697/images.json',
    method: 'POST',
    headers: headers
};

function sendImageFS() {
    // Setup the request.  The options parameter is
    // the object we defined above.
    var req = https.request(options, function(res) {
        res.setEncoding('utf-8');
        var responseString = '';
        res.on('data', function(data) {
            responseString += data;

        });
        res.on('end', function() {
            console.log(responseString);
            var resultObject = JSON.parse(responseString);
        });
    });
    req.on('error', function(e) {
        // TODO: handle error.
        console.log(e);
    });
    fs.readFile('C:\\Users\\Brett\\Desktop\\whitebird_500.jpg', function(err, data) {
            var base64data = new Buffer(data).toString('base64');
            var imagePayload = {
                image: {
                    attachment: base64data,
                    filename: 'whitebird.jpg'
                }
            };
            req.write(JSON.stringify(imagePayload));
            req.end();
    });
}
sendImageFS();

不可以。您不能通过CSV添加google驱动器图像。如果你想通过CSV添加法师,你需要将你所有的图像文件保存到一些直接(无重定向)可用的公共url。我发现了一个非常有趣的解决方法。Shopify无法从受用户级身份验证保护的链接下载图像。为了实现这一点,我将所有的图像放在Dropbox的一个公共文件夹(不是免费的)中,并获取文件的公共链接。这样它就工作了。@HymnZ dropbox不再工作。“截至2017年3月15日,您Dropbox帐户中的公用文件夹已转换为标准文件夹。”@eddyparkinson您也可以使用Shopify的“文件”文件夹来实现此目的。它位于
Admin->Settings->Files