Автоматическая публикация на блогах…


?????? ???? ?? ??????... (??, ??, ?????-???? ? ?????????????...) ????? ??????-?????? ???????? Blogger Api, ? ???? ????? ???????????, ???????? ?????, ? ??? ? ?? ???? ?????????, ???? ?? ??? ???????? ???? ?????, ????????? description ???????? ? ?????????. ? ??? ??? ? ???????????? ?????, ??? ?????????, ??????, ?????? ???? ? <title>-</title>, ? ????????? ????? ???????????????? ?????? ???????? ?????? ?????, ?? ????? ??? ?????? ? ????????? ?? ???????? ????? ???????????. ??? ?????, ??? ???? ? ??? ??????? ???? ?????? ? ??????? ???? API ?????????? -- ??? ?????? ?????????? ????? Data API.


? ??? ?? ????, ?????? ? ?????? ????? ????, ???????? ??????????? ???-???? ????????? ????? ?????????????, ? ???????? ???-???? ???????????. ?? ? Blogger API, ? ? ??? ??????????? Weblog API. ???????? ????? ?????? ?? ????????? (??? ???????? ? ???????????), ????????? ??? ????????????? ????? ?????????? ???? ??? ???????, ?? ??????? ????? ?? ?????????. ????????????:



  1. ?????? ??????? (??. ????) ?????? ???????????

  2. ???? ????? ?????????? ? base64, ???? ??????? ???????????? ???? ????? ????

  3. ???? ? ????????, ?? ????? ????????? ??????? Content-Type: text/xml

  4. ?????? ?????? ?????? ?? ? ???? ???????-???????? ???? ? ??? ??, ? ?????? ??? ????? ?????? ?? ????????????.

  5. ???? ???? ?? ? ???? ???????? ???????????? - ????? ???????? ?????????? ?????? ?? ????? ????? ??????.

 ??, ? ?????????? ???:



import httplib
import base64
 
def publishPost(title, time, descr):
                descr = base64.b64encode(descr)
                body1 = """
                <?xml version="1.0"?>
                <methodCall>
                   <methodName>metaWeblog.newPost</methodName>
                   <params>
                       <param><value><string>BlogId</string></value></param>
                       <param><value><string>YourUserId</string></value></param>
                       <param><value><string>YourPassword</string></value></param>
                       <param><value><struct>
                   <member><name>title</name><value>"""
                body2 = """</value></member>
                   <member><name>description</name><value><base64>"""
                body3 = """</base64></value></member>
                   <member><name>pubDate</name><value>"""
                body4 = """</value></member>
                                </struct></value></param>
                       <param><value><boolean>true</boolean></value></param> 
                   </params>
                </methodCall>
                """
                body = body1 + title + body2 + descr + body3 + time + body4
                print body
 
                conn = httplib.HTTPConnection("www.YourSite.com")
                headers = {"Content-Type": "text/xml"}
                conn.request("POST", "/path-to-xml-rpc-end-point/xmlrpc.php", body, headers)
                res = conn.getresponse()
 
                # Just to see what's the result
                print "Status: " + str(res.status)
                print "Headers: "
                print res.getheaders()
                print "Body: "
                print res.read()
                conn.close()

publishPost("My test tile", "date-time-in-right-format", "My test body")


???? ???? ??????, ?????? ???? ?????? ??????.

Comments (5)

  1. EldarM1 says:

    Так ведь хочется, чтобы они работали в посте, а не показывались.

  2. EldarM1 says:

    Не поделишься? Я как раз собирался сам писать для блоггера. Гугловский AppID, я понятное дело, свой заведу.

  3. Valery Tolkov says:

    А что, экранирование специальных символов &lt; &gt; не работает?

  4. Valery Tolkov says:

    У меня есть скрипты, использующие Гугловский atom+xml. Вполне ничего, работает без всяких проблем, и с блоггером, и с пикасой. В нём есть некая логика, в отличие от мразматических  форматов xml+rpc с их бесконечными припевами param-param.

  5. Valery Tolkov says:

    Это пожалуйста, но проблема в том, что они написаны на никому не известном древнем языке. Скрипты здесь: http://tolkov.com/valery/blogger.zip

    Язык здесь: http://tolkov.com/winscript/

Skip to main content