質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1093閲覧

pythonからはてなブックマークに追加しようとすると500エラーになってしまう

Otazoman

総合スコア44

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2019/06/03 05:54

前提・実現したいこと

はてなBookMarkにブックマークを追加するためにpythonスクリプトを書いています。
以下のサイトを参照しながら書いてみたのですが、はてなから500が返されてきてエラーとなって
投稿ができないようです。

https://qiita.com/YumaInaura/items/0641702719fef0260d8e

いろいろとメッセージをみても原因が分からないので何が悪いのかわからず途方に暮れています。
何かヒントでも構わないので対処策をご教示いただけますでしょうか。
すいませんがよろしくお願いいたします。

発生している問題・エラーメッセージ

ERROR : 500 Internal Server Error

該当のソースコード

snspost.py

1import json 2import requests 3from requests_oauthlib import OAuth1Session 4from requests_oauthlib import OAuth1 5import pprint 6import sys 7import traceback 8import yaml 9 10def get_authkey(snsname): 11 """ 12 ymlファイルから設定情報を取得する。 13 """ 14 try: 15 with open('../config/config.yml', 'r') as yml: 16 config = yaml.load(yml) 17 consumer_key = config[snsname]['consumer_key'] 18 consumer_secret = config[snsname]['consumer_secret'] 19 token = config[snsname]['token'] 20 token_secret = config[snsname]['token_secret'] 21 22 result = dict(ck=consumer_key,cs=consumer_secret, 23 at=token,ats=token_secret) 24 return result 25 except Exception as e: 26 t, v, tb = sys.exc_info() 27 print(traceback.format_exception(t,v,tb)) 28 print(traceback.format_tb(e.__traceback__)) 29 30def post_hatena(postword): 31 """ 32 はてなブックマークに追加 33 """ 34 try: 35 ta = get_authkey('hatena') 36 #pprint.pprint(ta) 37 auth = OAuth1(ta['ck'],ta['cs'],ta['at'],ta['ats']) 38 bookmark_api_url = "http://api.b.hatena.ne.jp/1/my/bookmark" 39 bookmark_url = "https://google.com" 40 req = requests.post(bookmark_api_url + "?url=" + bookmark_url, 41 auth=auth) 42 if req.status_code == 200: 43 print('SUCCESS') 44 else: 45 print("ERROR : %d" % req.status_code) 46 print(req.text) 47 except Exception as e: 48 t, v, tb = sys.exc_info() 49 print(traceback.format_exception(t,v,tb)) 50 print(traceback.format_tb(e.__traceback__)) 51 52def main(): 53 """ 54 主処理 twitterにつぶやいて結果表示 55 56 """ 57 try: 58 print("呟く内容は?") 59 content = input('>> ') 60 #post_twitter(content) 61 post_hatena(content) 62 except Exception as e: 63 t, v, tb = sys.exc_info() 64 print(traceback.format_exception(t,v,tb)) 65 print(traceback.format_tb(e.__traceback__)) 66 67if __name__ == '__main__': 68 main()

補足情報(FW/ツールのバージョンなど)

Python 3.6.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ソースは特に修正していないのですが、何日かおいて試してみると
きちんと投稿できました。(1週間程度おいています。)
Tokenもエラーが発生していた際に使用していたものです。
もしかしたら何らかのキャッシュが残っていたのかと思いますがよく分かりません。

とりあえず現在のところは問題が解消しているので一旦、解決とさせていただきます。

投稿2019/06/10 00:39

Otazoman

総合スコア44

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問