2

Windows 7 64ビットで、スケジュールされたマルチタグ画像を静かな方法で(GUIなしで)tumblrに投稿しようとしています。

まず、imacro と firefox で試してみます。動作していますが、マルチタグを作成できず、サイレントではありません。

次に、apigee と imacro を試しますが、データは配列 (URL エンコードされたバイナリ コンテンツ) でなければなりません。それを行う方法がわからず、黙っていません。

次に、python と pytumblr を試します。python 2.7.11 をインストールしてから、pytumblr 0.0.6 をインストールします (pip install pytumblr を使用)。インターネットでスクリプトを見つけて編集します:

import sys
if "F:\\Python27\\Lib\\site-packages\\pytumblr" not in sys.path:
    sys.path.append("F:\\Python27\\Lib\\site-packages\\pytumblr")

import pytumblr
from tumblr_keys import *    #this imports the content in our tumblr_keys.py file

# Authenticate via OAuth
client = pytumblr.TumblrRestClient(
    consumer_key,
    consumer_secret,
    token_key,
    token_secret
)


client.create_photo('my-blog', state="published", tags=["testing", "ok"], data="D:\\dessin.jpg")

もちろん、my-blog を tumblr ブログのドメイン名に置き換えます。次のファイルを作成しますtumblr_keys.py

consumer_key = ''
consumer_secret = ''
token_key = ''
token_secret = ''

tumblr 側でアプリケーションを作成し、 https: //api.tumblr.com/console/calls/user/info を有効にして許可します

私はPythonのIDLE(F5)で起動し、シェルにカーソルの点滅を追加するものは何もありませんが、tumblrには画像の投稿はありません。ファイアウォールをチェックしても問題ありません。

Python 2.7.11 をアンインストールし、Python 3.5.1 をインストールpytubmlrpylintます。

最初の行を次のように置き換えます。

import sys
if "F:\\Python35-32\\Lib\\site-packages\\pytumblr" not in sys.path:
    sys.path.append("F:\\Python35-32\\Lib\\site-packages\\pytumblr")

そのため、パスは新しいインストールに変更されます。

IDLE は冗長であるため、今回はより適切です。

    from request import TumblrRequest
  File "F:\Python35-32\Lib\site-packages\pytumblr\request.py", line 37
    except RedirectLimit, e:
                        ^
SyntaxError: invalid syntax

SOで見つかったように、次のように置き換えexcept RedirectLimit, e:ますexcept RedirectLimit as e:

61行目と75行目で同じ問題があります。次を置き換えます。

ImportError: No module named 'urllib2'

さて、このコードは Python の古いリリース用に書かなければならないと思いますが、続けて 1 行目から 15 行目を置き換えます。

import urllib
try:
    import urllib.request as urllib2
except ImportError:
    import urllib2
import time
import json

try:
    from urllib.parse import urlparse
except ImportError:
    from urlparse import urlparse
from urllib.parse import parse_qsl
import oauth2 as oauth
from httplib2 import RedirectLimit

それでも、再びエラーがあります:

  File "F:\Python35-32\Lib\site-packages\pytumblr\helpers.py", line 20, in validate_params
    if len(multiple_data) > 1:
TypeError: object of type 'filter' has no len()

この時点で、私は解決策を見つけることができません。ご覧のとおり、Python を使用するのは初めてです。手伝って頂けますか?

ありがとう。

2015 年 12 月 28 日に編集:

私はpython 2.7.11の単純なコードを試します:

import urllib2

def internet_on():
    try:
        response=urllib2.urlopen('http://173.194.42.5',timeout=1)
        return True
        print (ok)
    except urllib2.URLError as err: pass
    return False
    print (bad)

チェックのために、Pythonはインターネットと通信でき、IDLEのカーソルは詳細なしで点滅しますか?

ファイアウォールのコモドを非アクティブ化しましたが、それ以上のものはありません。

4

1 に答える 1