PythonからGwibberに投稿するにはどうすればよいですか?
私が試してみました
import gwibber.utils
foo = gwibber.utils.GwibberPublic()
foo.post("This is a test message")
https://wiki.ubuntu.com/Quickly/Snippets から。
しかし、それは機能しません。
実際にはGIRベースのAPIを使用する必要があります。最新の例を次に示します。
from gi.repository import Gwibber
s = Gwibber.Service ()
s.send_message ("This is the content to post", None, None, None)
これにより、現在送信が有効になっているすべてのアカウントに投稿されます。 send_messageのパラメーターは次のとおりです。
"""
send_message: Posts a message
@message: The message to post to Gwibber as a string or None
@id: The gwibber message id or None
@action: The action or None (reply, private)
@account_id: The ID of the account to post from or None
"""
したがって、特定のアカウントからのみ投稿したい場合は、次のようにすることができます。
from gi.repository import Gwibber
accounts_service = Gwibber.Accounts.new ()
s = Gwibber.Service ()
accts = accounts_service.list () # A list of Gwibber.Account objects
for acct in accts:
print "Gwibber ID: %s, Service: %s, Username: %s, Send: %s" % (acct.props.id, acct.props.service, acct.props.username, "True" if acct.props.send_enabled == "1" else "False")
#add code to check if this is the account you want to post from, like if you want to post from all Twitter accounts you would do this
if acct.props.service == "Twitter":
s.send_message ("Whatever you want to post", None, None, acct.props.id)