vektor-inc / vk-all-in-one-expansion-unit

wordpress plugin of powerful support
https://ja.wordpress.org/plugins/vk-all-in-one-expansion-unit/
GNU General Public License v2.0
7 stars 1 forks source link

【確認待ち】シェアボタンの Hatena の API の値が返ってなくて console がエラーを吐いているので調査・修正 #741

Closed kurudrive closed 2 years ago

kurudrive commented 2 years ago

今村君実装なので詳細は僕も知りません...。

drill-lancer commented 2 years ago

これのことなのかよくわかりません https://b.hatena.ne.jp/guide/bbutton

kurudrive commented 2 years ago

ExUnit の Hatena ボタンが ブックマーク数をAPIかなんかで取得して表示してるとかそんなしくみになってるのではないかと思うけどそのあたりでのエラーじゃないかなと思うけど僕も詳しくはワカリマセン。

drill-lancer commented 2 years ago

これを見つけたけど使い方がピンと来ません。 http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getcount

mthaichi commented 2 years ago

確認中・・・

mthaichi commented 2 years ago

@kurudrive 以下、調査結果と相談です。

原因

はてなのブックマーク数をはてなのAPI経由で取得して表示させているのですが、そこで問題が起きています。

さらなる問題

上記原因を探っている間に気づいたのですが、ExUnitのSNS設定の「投稿数」の「GET (Default)」と「POST」の挙動が逆です。以下の箇所で (bool) ( 'post' !== $opt['entry_count'] ); は (bool) ( 'post' === $opt['entry_count'] ); の誤りです。 https://github.com/vektor-inc/vk-all-in-one-expansion-unit/blob/2b3d240e18261a0e90b26cd2591be01984a83e75/inc/sns/function-sns-btns.php#L381

そのため、本来、上記設定を「GET (Default)」にした際に起こる不具合のはずが、「Post」にした時に発生するようになっています。

対応策

ということで、上記ご確認の上で、この対応で良いかご検討ください。

kurudrive commented 2 years ago

あら、すみません、 完全に共有不足でした。 僕の知ってる範囲では、

Defaultの方はリクエストが少なく速度が早いが、エックスサーバーではエラーになる。 これはエックスサーバーの仕様上避けられない。 そのためPostにすると解消する。

という状態が正常で、 「Post に変更してあるのにエラーが出るからおかしい」

というのが今回のissueの趣旨でした。

で、今確認したら、たしかに Post でエラーが出るけどGETにすると出ないから逆になっちゃってるという事なんですね...

という事は、僕が過去にデフォルトをPostに変更しようとして変更方法を間違えてた疑惑が浮上... 変更履歴確認します...。

mthaichi commented 2 years ago

@kurudrive そうですね。そうなると挙動が逆になっていることが主原因になりますね。POST設定なのにGETで取得しようとして、URLのクエリパラメータに不正な文字が入っているのでエラーになっています。 「エックスサーバーの仕様上避けられない。」ことも上記に書きましたように、おそらく・・・ですが、対処可能だと考えておりますので、そっちも対応したほうがいいなら対応させていただきますー。

kurudrive commented 2 years ago

@mthaichi こちら 設定逆になっちゃってる問題修正よろしくお願いいたします。