9

Live SDK (OneDrive SDK とも呼ばれます) を使用して、ユーザーの連絡先の電子メール アドレスや電話番号を正常に取得した人はいますか?

私ができる最善のことは、ユーザーの連絡先のプロファイルを取得することですが、ハッシュ化された電子メールアドレスのみが含まれ、電話番号は含まれません。たとえば、次のようになります。

{
  "id": "contact.1e680c06000000000000000000000006",
  "first_name": "James",
  "last_name": "Cameron",
  "name": "James Cameron", 
  "gender": null,
  "is_friend": false, 
  "is_favorite": false,
  "user_id": null, 
  "email_hashes": [ "3972d8781911deba416ecf8e44dcc5f4dae92ab9aac58520bcfa480c31ea38f5", "301e45d554a7978c2a8ef1e662876411dfbca4b89535d2362dff3f6d786366b7" ],
  "updated_time": "2011-07-21T20:31:11+0000"
}
4

3 に答える 3

6

必要なことは、要求しているスコープのリストに次のスコープを追加することだけです。

"wl.contacts_emails"

例えば

WL.login({scopes: ["wl.contacts_emails"]});
于 2013-02-11T12:41:15.520 に答える
4

公式にサポートされていない非表示のスコープを使用しますが、MSDN フォーラムではサポートされていないと言っていますが、現在バージョン 5.6 で動作することを確認できます。

メールの場合wl.contacts_emailsは 、電話番号の場合は を使用しますwl.contacts_phone_numbers

于 2014-09-04T06:48:12.883 に答える
2

このドキュメントに従って: http://msdn.microsoft.com/en-us/windowslive/hh278351

データベースに既に存在する連絡先の電子メールのみを持つことができます。これは、Microsoft が Web サイト データベース内のすべての電子メール アドレスのハッシュを計算することを望んでいることを意味します。連絡先のインポートを実行すると、ハッシュと応答で提供されたハッシュを比較し、一致するハッシュを持つメールをデータベースから取得します。

ここに原文があります:

Web サイトがこのシナリオに参加するには、Web サイトの各登録ユーザーに属する各電子メール アドレスのハッシュを作成する必要があります。これらの各ハッシュは、Live Connect API が認識する特定の形式に従う必要があります。登録ユーザーの各電子メール アドレスのハッシュを作成したら、ハッシュのリストを、訪問ユーザーの連絡先に対して Live Connect が生成する電子メール アドレス ハッシュのリストと比較できます。一致する各ハッシュは、訪問ユーザーの連絡先の 1 つである Web サイトの登録ユーザーを表します。

私が知る限り、それを回避する唯一の方法は、Web サイトのスクレイピングを行うか、連絡先の自動エクスポートをトリガーして、エクスポートされたファイルを処理する方法を見つけることです。

于 2011-09-23T13:41:02.677 に答える