YouMap Content API
Web Expert Users are enabled to use the YouMap Content API that our dynamic professionals have created for you!!
YouMap Client Library for .NET
Η βιβλιοθήκη YouMap.Client.dll παρέχει στην διαδικτυακή εφαρμογή σας η οποία την ενσωματώνει, δυνατότητα εμφάνισης των προβολών που έχετε δημιουργήσει στο YouMap.
Η βιβλιοθήκη παρέχει αυτόματη κρυπτογράφηση με τη χρήση public/private key έτσι ώστε οι κλήσεις που κάνετε στο server να είναι ασφαλείς ακόμη και σε επικοινωνία χωρίς SSL
Πως μπορείτε να κατεβάσετε τη βιβλιοθήκη.
Εφόσον έχετε ολοκληρώσει την εγγραφή σας στο YouMap, μπορείτε να μεταβείτε στην ενότητα “Εταιρικές Υπηρεσίες” της οθόνης “Προφίλ” και να κάνετε κλικ στο σχετικό σύνδεσμο. Κάνοντας κλικ θα κατεβάσετε ένα zip το οποίο θα περιέχει το αρχείο YouMap.Client.dll και τον τον οδηγό προγραμματιστή YouMap Client Library for .NET.doc (το αρχείο το οποίο διαβάζετε).
Η βιβλιοθήκη περιέχει δύο public classes στο Namespace “YouMap.Client”
Την κλάση “ProjectInfo” η οποία περιέχει τις λεπτομέρειες κάθε προβολής που έχετε δημιουργήσει στο YouMap.
public class ProjectInfo
{
public string pid { get; set; }
public string ViewName { get; set; }
public string ViewType { get; set; }
}
Την κλάση “API” η οποία δημοσιεύει δύο static μεθόδους. Την “GetMyProjects” την οποία καλείτε για να πάρετε μια λίστα με τα στοιχεία των προβολών σας, και την “ GetToken” την οποία χρησιμοποιείτε για να λάβετε ένα token πρόσβασης για τον επισκέπτη της ιστοσελίδας σας με το οποίο θα δημιουργήσετε ένα IFRAME για εμφάνιση της προβολής σας.
public class API
{
public static ProjectInfo[] GetMyProjects(string username, string apiKey)
Επιστρέφει μια λίστα με μα στοιχεία των projects που είναι διαθέσιμα προς ενσωμάτωση.
Παράμετρος: username = Το email με το οποίο έχουμε κάνει εγγραφή.
Παράμετρος: apiKey = Το κλειδί API το οποίο δημιουργήθηκε από το σύστημα.
Τρόπος λειτουργίας: Η συνάρτηση κρυπτογραφεί με το public key YouMap τα στοιχεία χρήστη και
apikey και στέλνει ένα κρυπτογραφημένο request στον server.
Ο server αποκρυπτογραφεί τα στοιχεία με το private key και επιστρέφει μια λίστα με τα στοιχεία
των projects
public static string GetToken(string username, string pid, string apiKey, string clientAddress)
Επιστρέφει ένα κρυπτογραφημένο token από το server για να επιτραπεί από τη συγκεκριμένη client
IP address η εμφάνιση της προβολής σας
Παράμετρος: username = Το email με το οποίο έχουμε κάνει εγγραφή.
Παράμετρος: pid = O κωδικός του project.
Παράμετρος: apiKey = Το κλειδί API το οποίο δημιουργήθηκε από το σύστημα.
Παράμετρος: clientAddress = Η IP του χρήστη που καλεί την σελίδα σας (Request.UserHostAddress)
Τρόπος λειτουργίας: Η συνάρτηση κρυπτογραφεί τις παραμέτρους με το public key YouMap και στέλνει ένα κρυπτογραφημένο request στον server.
Ο server αποκρυπτογραφεί τα στοιχεία με το private key και επιστρέφει ένα μοναδικό token που
επιτρέπει την πρόσβαση από την ip address του επισκέπτη για περιορισμένο χρονικό διάστημα.
}
Παράμετροι που θα χρειαστεί να ορίσετε για την κλήση των μεθόδων
username : To email με το οποίο πραγματοποιήσατε την εγγραφή σας. (Χρησιμοποιείται στις
“GetMyProjects” και “GetToken”).
apiKey : Το κλειδί σας το οποίο μπορείτε να δείτε (Χρησιμοποιείται στις “GetMyProjects” και “GetToken”). Μπορείτε να εμφανίσετε το κλειδί σας στην ενότητα “Κλειδί API” της οθόνης
“Προφίλ”
pid : Ο μοναδικός κωδικός κάποιας προβολής σας. (Χρησιμοποιείται στην “GetToken”).
Μπορείτε να εμφανίσετε τον κωδικό επιλέγοντας μια προβολή σας στην οθόνη “Δημοσίευση”
clientAddress : Η διεύθυνση IP του επισκέπτη της ιστοσελίδας σας. (Χρησιμοποιείται στην “GetToken”).
Στην πλατφόρμα ASP.NET μπορείτε να πάρετε αυτή τη διεύθυνση με την κλήση της
“Request.UserHostAddress” (ή οποιοδήποτε άλλο τρόπο σας επιτρέπει το σύστημα π.χ.
“Server Variables”)
Διάγραμμα της διαδικασίας δημιουργίας του IFRAME
Για να εξασφαλιστεί ότι μόνο μέσω της ιστοσελίδα σας θα μπορέσει κάποιος να δει τις προβολές που έχετε δημιουργήσει και να αποτρέψει την αντιγραφή από κάποιον τρίτο ενός στατικού link στην προβολή σας, έχει δημιουργηθεί ένα σύστημα δημιουργίας token πρόσβασης.
Η διαδικασία από τη στιγμή που κάποιος επισκέπτης της ιστοσελίδας σας κάνει κλικ για δει μια προβολή σας παρατίθεται στο ακόλουθο διάγραμμα.
Τρόπος ενσωμάτωσης σε web site ASP.NET:
· Κάνουμε reference στην εφαρμογή μας την YouMap.Client.dll και κατόπιν ανάλογα με το αν θέλουμε να εμφανίσουμε μια συγκεκριμένη προβολή ή δυναμικά όλες τις προβολές μας ακολουθούμε κατά περτίπτωση τις οδηγίες της παραγράφου Α ή Β
Α) Για να ενσωματώσουμε μια προβολή στην σελίδα μας
· Ενσωματώνουμε τον παρακάτω κώδικα με τα δικά μας στοιχεία στις παραμέτρους username,pid και apiKey
<iframe src='<%="https://youmap.gr/Public/TView?rid=" + Server.UrlEncode(YouMap.Client.API.GetToken("my@email.com", “599”, "M-uYcH2jwEiGru7LSyo_rQ", Request.UserHostAddress))%>' style="width:100%;height:830px;"></iframe>
Β) Για να δημιουργήσουμε μια δυναμική λίστα με τις προβολές μας.
· Θα πρέπει να δημιουργήσουμε δύο σελίδες. Στην πρώτη (σελίδα λίστας προβολών) θα εμφανίζουμε στον επισκέπτη μια δυναμική λίστα με τις προβολές που έχουμε δημιουργήσει στο YouMap στην οποία ο χρήστης κάνοντας κλικ θα μεταφέρεται στην σελίδα προβολής. Στη δεύτερη (σελίδα προβολής) θα εμφανίζεται η προβολή που έχει επιλέξει ο χρήστης. Στο παράδειγμά μας η πρώτη σελίδα θα ονομάζεται list.aspx και η δεύτερη view.aspx.
· Στην πρώτη σελίδα θα χρησιμοποιήσουμε την συνάρτηση GetMyProjects για να εμφανίσουμε τι λίστα με τις προβολές μας με οποιοδήποτε τρόπο προτιμούμε. Για παράδειγμα μπορούμε να ενσωματώσουμε την λίστα στη σελίδα μας:
1. Με inline κώδικα στην list.aspx
<%
var pl = YouMap.Client.API.GetMyProjects("my@email.com","M-uYcH2jwEiGru7LSyo_rQ");
for (int i = 0; i < pl.Length; i++)
{
%>
<a href='<%="view.aspx?pid="+ pl[i].pid %>'><%=pl[i].ViewName %></a><br />
<%
}
%>
2. με data binding με τον παρακάτω κώδικα στην list.aspx
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowHeader="False" GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="Label1" runat="server" Text='<%# Bind("ViewName") %>'
NavigateUrl='<%# "About.aspx?pid=" + Eval("pid") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
και αυτό τον κώδικα στην Page_Load της list.aspx.cs
GridView1.DataSource = YouMap.Client.API.GetMyProjects("my@email.com",
"M-uYcH2jwEiGru7LSyo_rQ");
GridView1.DataBind();
· Στην δεύτερη σελίδα (view.aspx) θα ενσωματώσουμε τον παρακάτω κώδικα με τα δικά μας στοιχεία username και apiKey και την δυναμική παράμετρο pid.
<iframe src='<%="https://youmap.gr/Public/TView?rid=" + Server.UrlEncode(YouMap.Client.API.GetToken("my@email.com", Request["pid"], "M-uYcH2jwEiGru7LSyo_rQ", Request.UserHostAddress))%>' style="width:100%;height:830px;"></iframe>