6

Python リクエスト モジュールと Imgur API を使用して画像を Imgur にアップロードできません。

私のコードは次のとおりです。

import base64
import json
import requests

from base64 import b64encode

client_id = 'my-client-id'

headers = {"Authorization": "Client-ID my-client-id"}

api_key = 'my-api-key'

url = "http://api.imgur.com/3/upload.json"

j1 = requests.post(
    url, 
    headers = headers,
    data = {
        'key': api_key, 
        'image': b64encode(open('1.jpg', 'rb').read()),
        'type': 'base64',
        'name': '1.jpg',
        'title': 'Picture no. 1'
    }
)

通常、400 応答エラーが発生します。myu client_id が間違っているのか、リクエストが間違っているのか (URL リクエストの経験がほとんどない)、Imgur API を間違って使用しているのかどうかはわかりません。

これを送信したら、画像のURLも取得したいと思います。API にそのためのコマンドがあるかどうか、または python.requests モジュールに、投稿したばかりのデータ (POST) を取得できるトリックがあるかどうかはわかりません。

非常によく似た質問がここで回答され、コードは実際に機能しました!: Imgur にファイルを送信する際の問題

ただし、コードで使用されたアプリケーション ID の代わりに client_id を使用すると、400 エラーが返されました。

from: url = " http://api.imgur.com/2/upload.json " to: url = " http://api.imgur.com/3/upload.json "

4

1 に答える 1

7

これは v3 リクエストですが、必須の SSL を使用していません。設定してみる

url = "https://api.imgur.com/3/upload.json"
#          ^
于 2013-04-26T19:55:46.610 に答える