2017-01-28 3 views
3

Haftungsausschluss: Ich habe keine Kenntnisse der Programmierung.
Ich tue nur mein Bestes, um so viel wie möglich einzuholen.
Blogger-Startseite URL abgerufen über JSON

Beim Lesen (und später versuchen, out) die Antwort auf this question ich, dass ein möglicherweise schön & nützlich Update dachte die gleiche Art von Informationen in json Bedingungen wäre zu haben, das heißt, wie rufe ich die „home "URL eines Blogger-Blogs mit Hilfe von json.

Ich versuchte, es herauszufinden, auf eigene Faust, da ich weiß zum Beispiel, dass ...

<script type="text/javascript"> 
function specialpost(json) { 
document.write('<div>'); 
// VARIABLE DECLARATION 
var i; 
var j; 
// LOOP 
for (i = 0; i < json.feed.entry.length; i++) 
{ 
    for (j = 0; j < json.feed.entry[i].link.length; j++) { 
    if (json.feed.entry[i].link[j].rel == 'alternate') { 
    break; 
    } 
    } 
var postUrl = "'" + json.feed.entry[i].link[j].href + "'"; 
var postTitle = json.feed.entry[i].title.$t; 
var postContent = json.feed.entry[i].content.$t; 
var item = '<h3><a href="' + postUrl + '" target="_blank">' + postTitle + '</a></h3><p>' + postContent + '</p>'; 
document.write(item); 
} 
document.write('</div>'); 
} 
</script> 
<script src="https://MYBLOG.blogspot.com/feeds/posts/default/-/special?max-results=NUMBER_OF_POSTS_DISPLAYED&alt=json-in-script&callback=specialpost"></script> 

... geben Sie mir eine div, enthält Titel (inkl. Link) und Inhalt von einer gewünschten Anzahl von Posts, die mit "speziell" beschriftet sind, aber ich habe mich nach meinem Versuch etwas verwirrt.

Ich benutze jsonviewer, um den JSON-Code meines Blogs in verständlicher baumähnlicher Form anzuzeigen, und ich vermute, wenn die URL zu jedem Beitrag irgendwo innerhalb von [] entry gespeichert wird, dann wird wahrscheinlich die URL zum Blog selbst gespeichert irgendwo innerhalb [] link.

Frage: Habe ich Recht?

[] link enthält 4 Einträge: {}0{}1{}2 und {}3
jeder von ihnen, der wiederum die 3-Einträge:

  • rel Satz "http://schemas.google.com/g/2005#feed""self""alternate" und "hub" bzw.

  • type aufsetzenfür die ersten beiden und text/html für das dritte
    - nicht für {}3 definiert

  • href Set



    (, die von?alt=jsongibt uns die URL zum gleichen json Code gefolgt
    ich trat in
    jsonviewer, um die baumartige Ansicht) zu erhalten

    "https://www.blogger.com/feed/123456789/posts/default?alt=json"

    (dass 19-stellige Zahl ist, nehme ich an, einige maschinen weise erzeugt numerischen Namen
    , die Google in meinem Blog zugewiesen
    )

    "http://MYBLOG.blogspot.com" und

    "http://pubsubhubbub.appspot.com" sind.

Ich denke, was ich bin nachdem es {}2

Frage: Bin gleich wieder rechts ich? Wenn ja, wie kann ich deklarieren, dass der Wert von beispielsweise var myblogUrl auf href gesetzt ist, der in diesem {}2 Eintrag gespeichert ist?

Last, but not least: Wofür sind die anderen drei Einträge? Die in Eintrag {}0 gespeicherte href ähnelt der, die Sie zu einer Art Abonnementseite führt, auf der Sie auswählen können, auf welche Weise Sie den betreffenden Blog abonnieren möchten. Ist das wirklich der Fall?

Antwort

0

Nach der ATOM-Spezifikation für link Element (Siehe http://atomenabled.org/developers/syndication/#recommendedEntryElements)

Link - Identifiziert eine zugehörige Webseite. Die Art der Relation ist durch das rel-Attribut definiert. Ein Eintrag ist auf eine Alternative pro Typ und hreflang begrenzt. Ein Eintrag muss einen alternativen Link enthalten, wenn kein Inhaltselement vorhanden ist. Weitere Informationen here.

Daher ändern sich die URLs innerhalb des link Eintrags entsprechend der Anforderung. Das funktioniert, wenn Sie den Feed mit der URL des Typs anfordern - myblog.blogspot.com:

var myblogUrl = json.feed.link[0].href.split('feeds')[0]; 

Hinweis - Sie werden die JavaScript split Funktion der den Wert der Homepage bekommen verwenden. Wenn Sie jedoch Feeds von blogger.com anfordern (wie zum Beispiel - https://www.blogger.com/feeds/596098824972435195/posts/default/-/android?alt=json), müssen Änderungen daran vorgenommen werden.

Verwandte Themen