怠け者用のPHPを使用してVK APIを介してメッセージを送信する

行うこと: いくつかのチャットで特定のユーザーに代わって、PHP手段を使用してHTTP要求を使用して他のユーザーにメッセージを最小限の労力で送信するように構成します

実際、メッセージに限定されません。 スタンドアロンvkアプリケーションでは、このユーザーが利用できるすべてのアクション(より正確には、自分自身に権利を与えるものすべてですが、その詳細は後で説明します)を実行できる可能性があるという原則に基づいてすべてが機能します。

スタンドアロンアプリケーションでのみメッセージを操作できるという理由で、メッセージを正確に考慮します。

アクションプラン:
1.アプリケーションを作成する
2. access_tokenを取得します
3.メッセージを送信する

1.アプリケーションを作成する


この項目は、アプリケーションがリンクされるアカウントで実行する必要があります(必ずしもメッセージの送信元と同じアカウントである必要はありません)。

ここでvk.com/devにアクセスし 、クリックしてアプリケーションを作成します

画像

好きな名前を書きます-どこにも表示されません。
タイプ -スタンドアロンアプリケーション。

次に、アカウントに関連付けられた番号に届くSMSからのコードを入力する必要があります。 コードを入力した後、フィールドで何も変更せずに、設定に移動してアプリケーションIDをコピーします。

画像

ここでは他のものに触れることはできません。


2.アプリケーションのIDとsecret_keyを使用して、access_tokenを取得します


access_token-いくつかの機能を実行するためにPOSTリクエストで送信される文字数の文字列。 実際、それは私たちが行動するユーザーと私たちができることを代表して、それに結びついています。

これを行うには、次のコードを使用してサイトにページを作成します。
<? $client_id = '1111111'; $scope = 'offline,messages' ?> <a href="https://oauth.vk.com/authorize?client_id=<?=$client_id;?>&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=<?=$scope;?>&response_type=token&v=5.37">Push the button</a> 

$ client_id-実際には、ポイント1からのアプリケーションのID。

$ scope-ユーザーに代わって実行できる権利のリスト。 もちろん、これはまさに私たちのタスクに合ったものです。いつでもアクセスできる機能(オフライン)、およびメッセージへのアクセス(メッセージ)です。 さらに必要な場合は、 ここに完全なリストがあります 。 ビットマスクを設定するか、名前をリストできます。

さらに、 重要なポイント :ボタンを使用してページにアクセスし、作業するユーザーに代わってユーザーのVCにログインし、ボタンをクリックします。 同様のリクエストが表示されます:

画像

一般情報へのアイテムアクセスに加えて、他のすべてのアイテムは、スコープに転送された権限のリストに対応します。 をクリックして、次を確認します。

画像

Acces_tokenは赤で強調表示されているため、2番目の段落全体が記述されています。


3. POSTパラメーターを通過するHTTP要求は、メッセージを送信するか、他の APIメソッドを使用します



せっかちな人は 、すべてが次のように機能することを確認できます。

最後のゼロをacces_tokenに置き換えて、ブラウザのこのリンクをたどります。
 https://api.vk.com/method/messages.send?user_id=6269901&message=habrahabr&v=5.37&access_token=000000 

何が起こるか:
messageパラメーターのテキストを含むメッセージが、指定されたuser_idを持つユーザーに送信されます 。 (それをそのままにしておくと、それは私のところに来ます。私は気分を害しません)。

受信者パラメーター:


メッセージを送信するためのその他のオプション。

メソッドの完全なリスト (パラメータscope = offline、messages )は、それぞれ、メッセージセクションでのみ機能します。

そして最後に、POSTを介してメッセージを送信する機能。 カラシニコフ突撃ライフルのようにシンプル-わかりやすくするために:
 function send($id , $message) { $url = 'https://api.vk.com/method/messages.send'; $params = array( 'user_id' => $id, //   'message' => $message, //   'access_token' => '0000000000000000000000000000', // access_token   ,         'v' => '5.37', ); //  $result  id   $result = file_get_contents($url, false, stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params) ) ))); } 



最後に、すべてのリンク:

開発者ページ
アプリケーション作成
権限のリスト
すべての方法
メッセージ送信オプション

それだけです。

Source: https://habr.com/ru/post/J265563/


All Articles