0

私は Python (および一般的なコーディング) の初心者です。

カスタム Zapier ステップの短いスクリプトを作成しています。これは、URL のリストを反復処理し、.pdf で終わるものを選択し、それらを ConvertAPI に送信して JPG に変換することになっています。

これまでのところ、ConvertAPI へのリクエストの送信は機能しており、ConvertAPI はテスト ファイルが変換されたことを示しています。これが私の質問です: 変換されたファイルの結果の URL を取得するにはどうすればよいですか? 応答を印刷するとResponse [200]、 が表示されますが、他に作業するものはありません。

パラメータをオンにしてみましたAsyncが、これまでのところ役に立ちません。私が理解しStoreFileていることから、trueに設定する必要がありますが、違いはないようです。

import requests
import json

url = 'https://v2.convertapi.com/convert/pdf/to/jpg?Secret=******' # Hidden
headers = {'content-type': 'application/json'}
payload = {
    'Parameters': [
        {
            'Name': 'File',
            'FileValue': {
                'Url': 'to be populated'
            }
        },
        {
            'Name': 'StoreFile',
            'Value': 'true'
        }
    ]
}

a = ['https://www.bachmann.com/fileadmin/02_Produkte/03_Anschlussfelder/CONI/Downloads/CONI_3-4-6-way_Mounting_instructions_REV05.pdf','test2.jpg','test3.jpeg','test4.png','test4.exe']

for x in a:

  if x[-3:] == 'pdf':
    payload['Parameters'][0]['FileValue']['Url'] = x
    response = requests.post(url, data=json.dumps(payload), headers=headers)
    print(response)

  elif x[-3:] == 'jpg' or x[-3:] == 'png' or x[-4:] == 'jpeg':
    print('thats an image, nothing to do here')
4

3 に答える 3

1

友人がこの IRL で私を助けてくれました。

import requests
import json

output = {'output_urls' : []} 
url = 'https://v2.convertapi.com/convert/pdf/to/jpg?Secret=xxxxxxx' # Hidden
headers = {'content-type': 'application/json'}
payload = {
    'Parameters': [
        {
            'Name': 'File',
            'FileValue': {
                'Url': 'to be populated'
            }
        },
        {
            'Name': 'StoreFile',
            'Value': 'true'
        },
        {
            'Name': 'ScaleImage',
            'Value': 'true'
        },
        {
            'Name': 'ScaleProportions',
            'Value': 'true'
        },
        {
            'Name': 'ScaleIfLarger',
            'Value': 'true'
        },
        {
            'Name': 'ImageHeight',
            'Value': '2200'
        },
        {
            'Name': 'ImageWidth',
            'Value': '1625'
        }
    ]
}

for x in input_data['input_urls'].split(',') : # input_data is passed by Zapier
  if x[-3:] == 'pdf':
    payload['Parameters'][0]['FileValue']['Url'] = x

    response = requests.post(url, data=json.dumps(payload), headers=headers)
    response_obj = json.loads(response._content)

    for file_url in response_obj['Files'] :
      output['output_urls'].append(file_url['Url'])

  elif x[-3:] == 'jpg' or x[-3:] == 'png' or x[-4:] == 'jpeg' :
    output['output_urls'].append(x)

return output
于 2019-01-19T14:17:59.300 に答える