VK APIの欠点の1つを声に出して

Vkontakteロゴ



こんにちは、Habrの親愛なる居住者!



私の理解では、ハブルは恐ろしい力の武器であるという事実から始めます。 誰かを殺すことができるという意味ではありません。 もちろん違います。 それは、最も普通の開発者に考えを驚くほど広い聴衆と共有する機会を与えるだけです。 そして、何が危機にatしているのかは本当に重要ではない。 過去6か月に自分のプロジェクトを「ひざまずき」に注意深く作成したものであれ、GoogleとAppleからの最新情報に関するニュースであれ、すべて同じです。 ここで、カルマと格付けの前に誰もが平等であるため、誰もが話し、投票する権利を持っているので、あなたは聞かれます。 民主主義のすべての美しさ、それ以上のことはありません。 しかし、他の武器と同様に、Habrは非常に慎重に使用する必要があります。 それ以外の場合、戻り苦痛=)



長い間、私はハブリラニーの全力を体験するのにふさわしいトピックを取り上げましたが、今ではそれを見つけたようです。 よく知られているソーシャルネットワークVKontakteのAPIについてお話ししましょう。修正や変更が行われる可能性がありますが、それは非論理的または少し初歩的なようです。 以下に、私がそのような考えにどのようにそしてなぜ来たのかを明確に説明します。



注意! パベル・デュロフ、FSB、または身近な学童の人生における最新の出来事について議論したい人! あなたの人生に価値があるすべてのために、「もっと読む」リンクをクリックしないでください。 私はこの投稿が目標を達成することを本当に望んでおり、スキャンダラスさはこれのための最後のものです。







ソーシャルネットワーク。 私たちの生活に入ってきたコンセプトは、スマートフォンやコンピューターと同じくらい密です。 何百万人ものユーザー。 ギガバイトの情報。 無数のアプリケーションパターン。 ソーシャルネットワークは、開発者がすぐにユーザーをノックすることができるため、特に価値があります。 なんてクールなアプリでしょう! それはあなたの人生をより良く変えます。 約束します!」 これはすごい! 最後に、私たちはこのためのプログラムを書いているだけですか? 世界をより良い場所にするには? いいえ、もちろん、私たちは彼らが私たちの仕事に対して十分にお金を払っているという事実が好きです。 しかし、魂は、口座の金額によってではなく、訪問のカウンターの数字によって熱くなります。



Vkontakte APIに初めて会ったとき、私のキャリアにはこれ以上良いものはないように思えました。 ドキュメントの最初の行から、信じられないほど多くのアイデアが思い浮かびました! もちろん、彼らは彼らの創造性を、例えばこれと比較しません。 しかし、まだ=)それから、私はあなたの誰かが私の代わりにすることをしました:私は熱心にプログラムし始めました。 しかし、将来は私が望むほどクラウドレスではありませんでした。 シンプルでエレガントなRESTインターフェースの背後には厳しいものがあり、私には常に明確なルールと制限がありません。



Vkontakte APIのすべてのメソッドは、通常と高度の2つの大きなクラスに分けられます。 以前は、これはドキュメントから直接表示されていました 。異なるクラスのメソッドの説明は異なるセクションにありましたが、最新の更新の結果、違いは視覚的に滑らかになりました。 以前、高度と呼ばれていたメソッドは、モバイルアプリケーションまたはデスクトップアプリケーションでのみ使用できることを説明で簡単に示しています。 また、VKに深く結び付けられたWebアプリケーションを、壁やユーザーメッセージなどで機能させる必要がある場合はどうでしょうか。 ここに失望があります。



ほとんどのVK APIメソッドを使用するには、アプリケーションにトークンが必要です。 一般に、それを取得するプロセスは次のようになります。



  1. アプリケーションは、パラメーターでCALLBACK_URLを指定して、ユーザーをAUTHORIZE_URLに送信しました。
  2. Vkontakteは、アプリケーションのアクセス権を確認するページにユーザーをリダイレクトします。
  3. VkontakteはユーザーをCALLBACK_URLにリダイレクトし、トークンとその有効期間をパラメーターで渡します。
  4. CALLBACK_URLの要求を受け取ったアプリケーションは、VKからのものであることを理解し、トークンを引き出して記憶します。




ただし、高度なメソッドへのアクセスを提供するトークンを取得するには、コールバックアドレスとしてhttps://oauth.vk.com/blank.htmlを指定する必要があります。 これはAPIの要件です。 作成者が考えたモバイル/デスクトップアプリケーションは、組み込みのブラウザーを使用してトークン(たとえば、Webkitコンポーネント)を取得するため、問題はありません。リダイレクトを取得し、ユーザー情報とトークンを抽出し、すべてを保存して喜ばせます。 Webアプリケーションは明らかに成功しません。



論理的な質問があります:なぜですか? なぜそのような制限が導入されたのか、なぜそれがまだ存在するのか? デスクトップや携帯電話から任意のメソッドを呼び出すことができるのは、正当な理由があると推測できます。これにより、開発者は代替クライアントやあらゆる種類のインスタントメッセンジャーを作成する必要があります。 では、このウェブの禁止を解除してみませんか? なぜファンタジー開発者の車輪に余分な棒を置くのですか? すべての便利で優れたアイデアをスタンドアロンとして提供できるわけではありません。 広範囲にわたる「クラウドへの移行」と驚くほど幅広い機能と便利なHTML5 UIを備えたWebアプリケーションの作成をきっかけに、この制限は何らかの形で不便に見えます。



「正直な男で、スパムを送らない、ボットを作って正しい神に祈らないと誓うなら、どういうわけか正しい特権でトークンを取得することは可能ですか?」とVkontakteサポートに連絡しました。 そして、私にとって、ここでは、VKのカルマにあるドラムロールと仮想プラス記号が、非常に迅速かつ丁寧に答えられました。



回答内容
こんにちは



申し訳ありませんが、例外を設けていません。



外部サイトからのプライベートメッセージへのアクセスは、どのような状況でも取得できません。

Web上の写真を操作するいくつかの方法は非常にうまく機能し、確認ウィンドウを使用して壁に投稿できます。



よろしく

VKontakteサポートチーム。





それから、私は煙に行き、必要なトークンを得るために、どのような種類のハックをより高度に組み込むべきかを考えるように思われます。 そうなっていただろうが、突然禅がやって来た。 私は何かを変えようとすることにしました。 問題は、APIが主にサードパーティの開発者向けに設計されたインターフェイスであることです。 私だけでなく、あらゆる種類のハッキングを毎日リベットし、汚いトリックを使用して非常にシンプルで論理的なタスクを解決し、エンドユーザーに幸福と笑顔をもたらす他の何千人ものプログラマーも使用しています。 これらのまさに開発者が、彼らが使用するように招待されたツールの進化に何らかの形で影響を与えることができるべきであると仮定することは論理的です。 従来の方法と高度な方法の現在の違いは、感情を生み出します...まあ...なんらかの理由で変化を与えることができないコーヒーマシンのように:それはあなたがコーヒーを買うことができるようなものですが、あなたは部門全体からささいなことを集めなければなりません。



私の謙虚な投稿が、VCを少なくとも開発者との対話に導き、理想的な場合にはWebアプリケーションから制限を取り除くことを願っています。 皆さん、機会の人為的な制限は本当に非常に不便です。



UPD。 すべてが大丈夫だと信じているか、記事に短所を付けている人々は、コメントで書き留めます-なぜですか? 真実は興味深いです。 結局、これは開発の自由を制限します。



All Articles