私はLinkedInを介して共有可能にしたいブログを持っています。 LinkedInのドキュメントでは、単純に述べているが、私のユースケースを理解するのに十分な詳細がない。私のユースケースでは、今投稿されていない各ブログ投稿に画像と説明を動的に配置する必要があります。これはAngularプロジェクトです。ブログ投稿からLinkedIn共有に画像を添付するにはどうすればよいですか?
私の現在のコード: post.html
<script>
delete IN;
$.getScript("https://platform.linkedin.com/in.js");
</script>
<script type="IN/Share" data-url={{webAddress}} data-counter="right"></script>
post.js // I持って を含み、この領域では$スコープ変数で私のデータのすべて//投稿に添付したい画像と説明。ここで
はLinkedInのドキュメントは、これを行うための正しい方法として表示するものである: post.html
<script type="text/javascript" src="//platform.linkedin.com/in.js">
api_key: YOUR_API_KEY_HERE
authorize: true
onLoad: onLinkedInLoad
</script>
<script type="text/javascript">
// Setup an event listener to make an API call once auth is complete
function onLinkedInLoad() {
IN.Event.on(IN, "auth", shareContent);
}
// Handle the successful return from the API call
function onSuccess(data) {
console.log(data);
}
// Handle an error response from the API call
function onError(error) {
console.log(error);
}
// Use the API call wrapper to share content on LinkedIn
function shareContent() {
// Build the JSON payload containing the content to be shared
var payload = {
"comment": "Check out developer.linkedin.com! http://linkd.in/1FC2PyG",
"visibility": {
"code": "anyone"
}
};
IN.API.Raw("/people/~/shares?format=json")
.method("POST")
.body(JSON.stringify(payload))
.result(onSuccess)
.error(onError);
}
</script>
私はそれを理解したように、私は右のデータをペイロード・オブジェクトを移入する必要があります/ links。 docsの内容に基づいてこれを行う方法がわかりません。 post.jsからデータを取得し、スクリプトタグ間のペイロード・オブジェクト内に入れて)
1:ここでは
は私が現在、こだわっているとに沿って約/思考試したいくつかのことですpost.html。いくつかの研究をした後、これを行うことはできません。私が間違っていると訂正されることを歓迎しますが。2)INオブジェクトを角度に変換し、post.jsにペイロードを挿入します。これは本当に素晴らしいと思うが、LinkedInはpost.jsの関数をAngularで呼び出すためのhtmlを提供していない。さらに、表示されているLinkedInコードは、ボタンの書式設定と、クリックした後の内容を処理します。
3)JQueryを使用してスクリプトタグ内でhttpコールを行います。私はまれにJQueryを使用していて、以前はJQueryのためにhttpを使用したことはありません。このソリューションは、いずれかの解決策にはなりませんでした
<script type="IN/Share" data-url={{webAddress}} data-counter="right">
$.get("https://public-api.wordpress.com/rest/v1.1/sites/myPost", function(response) {
var post = _.first(_.filter(response.posts, function(n){return n.title.replace(/ /g,"-").replace(/[:]/g, "").toLowerCase() === $stateParams.id}));
var post1 = _.assign(post, {category: _.first(_.keys(post.categories)), pic: _.first(_.values(post.attachments)).URL, credit: _.first(_.values(post.attachments)).caption, linkCredit: _.first(_.values(post.attachments)).alt, fullStory: post.content.replace(/<(?!\s*\/?\s*p\b)[^>]*>/gi,'')});
**var image = post1.pic;**
**var title = post1.title;**
**var webAddress = window.location.href;**
function onLinkedInLoad() {
IN.Event.on(IN, "auth", shareContent);
}
function onSuccess(data) {
console.log(data);
}
function onError(error) {
console.log(error);
}
function shareContent(title, image, webAddress) {
var payload = {
"content": {
"title": title,
"submitted-image-url": image,
"submitted-url": webAddress
}
};
IN.API.Raw("/people/~/shares?format=json")
.method("POST")
.body(JSON.stringify(payload))
.result(onSuccess)
.error(onError);
}
});
</script>
:これも、この問題を考えるための実現可能な方法であれば、これは私が思い付いたものです。ここからどこに行くのか、私は考えがありません。私はこのシンプルですが、私は少し手を保持する必要があるほど独特のものだと確信しています。
感謝。私はそれをチェックしている。素晴らしいもの!私の主な質問は、LinkedInの共有ボタンのフォーマットを維持することでこれがどのように機能するのでしょうか? – rashadb
@rashadb私は私の答えを更新しています。チェックしてください。 –
ありがとうございます。私は今日これに着きます。 – rashadb