VKontakteを使用して、ニュースについて読者に自動的に警告します。 パート4

VKontakteの操作に関するHabrtに関する記事(1、2、3)は既にいくつかありましたが、ページへの簡単なリクエストとその後の解析によって行われました。 ページレイアウトまたはリクエストの順序が変更されると、スクリプトが機能しなくなるため、これは非常に間違っています。 さらに、私が間違っていなければ、これはサイトのルールによって禁止されています。

このために、VKontakteの公式APIがあります。





まず、タスクを定義します。 サーバー側では、VCデータを操作する必要があります。たとえば、ニュースについて自動的に読者に通知したり、ビデオや音声を検索したりする必要があります。 したがって、1人のユーザー(アプリケーション管理者)を介して作業する必要があります。



アプリケーションを登録することから始めましょう

開発者向けのページで、 「サイトを接続」を選択します。



アプリケーションの種類-スタンドアロン。 これにより、Webサイトに接続するだけでは利用できないメソッドがさらに利用できるようになります。





次に、アプリケーション制御ページが表示されます。





ドキュメントでアプリケーションの承認に関する詳細を読むことができます



仕事に登録した後、アクセストークンを取得する必要があります。

これと、APIの残りの作業のために、 私が書いクラスを使用します。



クラスでは、client_idを登録する必要があります。





認証方法を実行します。

VkApi::auth(array('offline', 'wall'));
      
      





auth()メソッドでアプリケーション権限の配列を指定できます。 リスト全体はドキュメントに記載れています

結果のアクセストークンをクラスの本体に登録することに注意してください。 そして、通常のセッションは長生きしないため、トークンを絶えず更新する必要があります。 抜け道があります-必要な権利のリストにオフライン権利を追加します。 次に、現在のユーザーのパスワードが変更された場合にのみ発生する、長期間有効なセッションを取得します。



ブラウザでスクリプトを実行し、認証ページを確認します。





さらなるアプリケーションアクセス要求:





出力を解決した後、必要なすべてのパラメーターが与えられます。

access_token = access_token &expires_in = 0&user_id =%userid%



クラス内にアクセストークンを記述します。





それだけです! これで、APIメソッドを使用できるようになりました。

ドキュメントには、メソッドのリストと説明があります。



たとえば、壁にメッセージを送信します。 ページまたはグループに送信する場合は、ページ番号の前にマイナス記号をowner_idに追加します。 ページの代わりに書き込むには、from_groupが指定されます。

 VkApi::invoke('wall.post', array( 'owner_id' => '%id%', 'message' => '%message%', 'from_group' => 1 ));
      
      





必要なニュースを受信するスクリプトを作成し、上記の方法を使用してそれらを送信し、スクリプトをcronにハングアップすることが残っています。 ただし、アプリケーションと目標によって異なります。



UPDクラスと例を更新しました。



All Articles