Google Contacts API และขอบเขต?

ขณะนี้ฉันกำลังพยายามดึงข้อมูลติดต่อของผู้ใช้ทั้งหมด รวมถึงดึง ID ผู้ใช้เฉพาะของพวกเขา

แอปของเราจำเป็นต้องใช้รายชื่อผู้ติดต่อของ Google และผู้ใช้จะลงชื่อเข้าใช้ด้วย Google ดังนั้นเราจึงต้องการวิธีการบางอย่างในการระบุผู้ใช้ที่ไม่ซ้ำแต่ละราย (ส่วนใหญ่เป็นรหัสผู้ใช้ที่ไม่ซ้ำซึ่งจัดทำโดย Google)

เป็นไปได้ไหมโดยใช้ Google Contacts API เท่านั้น

การโทรครั้งแรกที่ฉันทำเพื่อดึงโทเค็นการเข้าถึงคือ:

"https://accounts.google.com/o/oauth2/auth?client_id=51672309258-94cnvnrkrverd72neakom9d3siscda5o.apps.googleusercontent.com&redirect_uri=http://localhost/lunch/oauth.php&scope=https://www.google.com/m8/feeds/&response_type=code"

อย่างไรก็ตาม ฉันไม่เชื่อว่าโทเค็นการเข้าถึงที่ส่งคืนจากการโทรนี้มีข้อมูลใดๆ สำหรับ ID ผู้ใช้ และไม่ได้ให้สิทธิ์ในการดึง ID ผู้ใช้จาก Google+ Api

มีวิธีรับ ID ผู้ใช้ที่ไม่ซ้ำจาก Google Contacts API หรือไม่ มีตัวอย่างการรับ ID ผู้ใช้ของผู้ติดต่อของผู้ใช้ แต่ฉันจำเป็นต้องได้รับ ID ผู้ใช้จริง (เช่น ผู้ใช้ที่ฉันได้รับผู้ติดต่อ)

สิ่งนี้จำเป็นต้องมีขอบเขตอื่นหรือสามารถทำได้โดยใช้ API ผู้ติดต่อหรือไม่


person Mantissa    schedule 28.06.2013    source แหล่งที่มา


คำตอบ (2)


คุณสามารถระบุผู้ใช้ด้วยที่อยู่อีเมลของเขา/เธอ ซึ่งเป็น AFAIK ที่ไม่ซ้ำกัน เมื่อคุณออกคำขอไปยัง Google Contacts API คุณจะได้รับฟิลด์ใน xml ซึ่งเรียกว่า Id นั่นคือที่อยู่อีเมลของผู้ใช้

ตัวอย่างเช่น คุณสามารถขอที่อยู่ติดต่อทั้งหมด และคุณจะได้รับ xml เช่น สิ่งนี้ ฟิลด์ Id คือสิ่งที่คุณต้องการและขึ้นอยู่กับภาษาการเขียนโปรแกรม lib ฯลฯ ที่คุณใช้อยู่ คุณสามารถรับมันได้ด้วยสิทธิ์ที่มีอยู่ ตัวอย่างเช่นใน C# และ gdata คุณจะทำสิ่งนี้ (googleCredentials ควรจะเป็นวัตถุของคุณ):

        var cr = new ContactsRequest(settings);
        var feed = cr.GetGroups();
        googleCredentials.Email = feed.AtomFeed.Id.Uri.Content;
person kaiseroskilo    schedule 25.07.2014

หมายเหตุ: ค่าเริ่มต้นของ userEmail พิเศษสามารถใช้เพื่ออ้างถึงผู้ใช้ที่ได้รับการรับรองความถูกต้อง

จากเอกสารประกอบในเอกสารประกอบ คุณอาจลองใช้คำหลัก default เป็น userEmail

person Psddp    schedule 31.07.2015