**現状**  
ユーザが入力したツイートURLに基づき、(Twitter API で) ツイート 1件取得しています。  
[リンク先](https://syncer.jp/Web/API/Twitter/REST_API/GET/statuses/show/id/)のベアラートークン使用しています

**やりたいこと**  
ユーザが入力した段階で、有効なTwitter URL かどうか、バリデーションチェックしたい。  
意図としては、無意味なURL入力されることを防ぎたいです。

* * *

**分からないこと**  
有効なTwitter URL かどうか、どうやって判定？  
リクエスト前の完全なバリデーションチェックは出来ない？？

  * 案1.下記URL形式になっているかどうかで判定  
JavaScriptで正規表現使用？

> <https://twitter.com/xxxx/status/xxxx>

  * 案2.下記リクエスト後、HTTP レスポンスステータスコードが200かどうかで判定？  
PHP使用？

> [GET statuses/show/:id](https://developer.twitter.com/en/docs/tweets/post-
> and-engage/api-reference/get-statuses-show-id.html)

  * その他の案は何かありますか？

* * *
CC BY-SA 4.0
2019-07-30T00:02:00.927
57018
2019-07-30T07:19:27.140
7886
question
javascript php 正規表現 twitter
有効なTwitter URL かどうか、バリデーションチェックしたい
TwitterがAPI Specificationを公開しています。  
<https://developer.twitter.com/en/docs/labs/overview/introduction.html>

PHP用のCodegenでクライアントを作成し、そのクライアントがパラメータを受け取れるか(例外を吐かないか)でバリデーションすることもできそうです。  
<https://github.com/swagger-api/swagger-
codegen/tree/master/samples/client/petstore/php/SwaggerClient-php>

その他で、こういう手段もあるということで。
CC BY-SA 4.0
2019-07-30T07:19:27.140
57026
2019-07-30T07:19:27.140
2238
57018
answer