開始するには、グループに投稿を追加する権限を持つアカウントにログインする必要があります。
アプリケーションを作成する
まず、スタンドアロンアプリケーションを作成する必要があります。 このためには、リンクされた電話番号を持つVKアカウントが必要です。 私の練習では、アカウントに電話番号が添付されていない場合、連絡先は非常に迅速にAPIに応答し始め、captchaを入力するように求めるエラーが発生します))、つまり、captcha演算子をスクリプトの隣に配置する必要があります。
アクセストークンを生成する
次に、APIでの承認のためのアクセストークンが必要です。 生成するには、特別なリンクをたどる必要があります
https://oauth.vk.com/authorize?client_id=12343547&scope=groups,wall,offline,photos&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.21&response_type=token、client_idパラメーターで識別子を渡す以前に作成したアプリケーション。 scopeパラメーターは、アプリケーションに付与する権利のセットを示します。 ドキュメントの権利の詳細を参照してください。 リンクをクリックした後、連絡先の警告にもかかわらず、アプリケーションへの権利の譲渡を確認し、URLからアクセストークンを直接コピーする必要があります。サードパーティサイトのアドレスバーからデータをコピーしないでください。 したがって、アカウントにアクセスできなくなる場合があります 。 この方法で生成されたトークンは、無制限の時間グループと連携するのに十分です。
コードを書く
この問題を解決して、既製のライブラリーを見つけようとしましたが、 これを見つけました。その結果、以下の例で使用するforkを取得しました。 コード品質の専門家向け:このライブラリはデモンストレーションのみを目的としており、広範な機能、テスト、優れたドキュメント、パフォーマンスの最適化、クロスプラットフォーム(php 5.4が必要)などを備えていません-これらはすべて実装のために疲れを知らない読者に委ねられています。
そのため、VKontakteコミュニティに写真とタグを含むテキストを投稿します。
// git clone https://github.com/Vastly/vkontakte-php-sdk require_once('../src/Vkontakte.php'); $accessToken = 'your access token'; $vkAPI = new \BW\Vkontakte(['access_token' => $accessToken]); $publicID = 70941690; if ($vkAPI->postToPublic($publicID, " !", '/tmp/habr.png', [' api', '', ' '])) { echo "! , \n"; } else { echo ", (( \n"; }
私のトークンでこのコードを実行した結果 。 コードを見ると、VKontakte APIとの対話は厳密にドキュメントに従って行われます 。 ご清聴ありがとうございました!