如何在google + stream上发布互动帖子?
我正在尝试从asp.net网络应用程序在Google流媒体上发布一些自定义数据。
这是我使用的代码。
这是.aspx页面: 告诉你的朋友
这是我正在使用的脚本:
var moment = {
"name": "sample",
"Description": "Hi sample post",
"Thumbnail": "logo",
"image": "http://prayati.com/Images/PrayatiLogo.jpg"
};
gapi.auth.init(signinCallback);
function signinCallback(authResult) {
if (authResult['access_token']) {
gapi.interactivepost.render('inter', options);
//gapi.interactivepost.render(moment, authResult['access_token'])
gapi.interactivepost.go(moment)
document.getElementById('myBtn').setAttribute('style', 'display: none');
} else if (authResult['error']) {
alert(authResult['error']);
}
}
var options = {
contenturl: 'https://plus.google.com/pages/',
contentdeeplinkid: '/pages',
clientid: '263087742134.apps.googleusercontent.com',
cookiepolicy: 'single_host_origin',
prefilltext: 'Create your Google+ Page too!',
calltoactionlabel: 'SHARE',
calltoactionurl: 'http://plus.google.com/pages/create',
calltoactiondeeplinkid: '/pages/create'
};
答案 0 :(得分:0)
第一个也许是最重要的问题是您的data-calltoactionurl
和data-contenturl
之间存在域名不匹配的问题。这些必须是同一个域,请参阅data-contenturl
documentation。
我认为这是您的主要问题,您的示例中还存在其他问题:
您似乎混淆了两个不同的功能:应用活动(即时刻)和互动帖子。此外,看起来您正在尝试进行身份验证,交互式发布按钮也是一个登录按钮,请注意其data-callback
参数。您无需单独调用gapi.auth.init()
最简单的方法是使用HTML按钮并删除对gapi.interactivepost。*的调用,除非你有一个动态应用程序需要插入具有很好控制权的按钮。
您没有发布JavaScript API包含的代码,请确保它将API脚本加载为https://apis.google.com/js/client:plusone.js
。
这是一个正确简化的按钮:
<button class="g-interactivepost"
data-clientid="xxxxxxxxxx.apps.googleusercontent.com"
data-contenturl="http://localhost:52022/Jaswanth"
data-cookiepolicy="single_host_origin"
data-calltoactionlabel="INVITE"
data-calltoactionurl="http://localhost:52022/create"
data-prefilltext="Best site EVER!"
data-callback="signinCallback"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/plus.login">
Tell your friends
</button>